python paramiko模組的使

來源:互聯網
上載者:User

標籤:python paramiko

一般使用paramiko的功能就是通過ssh遠程執行命令,遠程(上傳、下載)傳輸檔案等等

依賴包:/usr/local/python27/bin/pip install pycrypto

下載包 paramiko

#wget http://en.onlinedown.net/down/paramiko-1.7.7.1.zip

#unzip paramiko-1.7.7.1.zip

#cd paramiko-1.7.7.1

#python setup.py build

#python setup.py install

#!/usr/bin/env python



#vim paramiko.py

#!/usr/bin/env python

import paramiko            \\匯入模組   

hostname=‘192.168.10.106‘   \\定義需要連結的主機

port=22                      \\定義連結的連接埠

username=‘root‘               \\定義連結的帳號

password=‘123456‘              \\定義登陸密碼


if __name__==‘__main__‘:        \\如果當前的模組名稱等於啟動的主模組運行,就執行如下

    paramiko.util.log_to_file(‘paramiko.log‘)   \\指定執行的記錄檔,日誌名為paramiko.log

    s=paramiko.SSHClient()          \\建立用戶端連結服務端的對象s

    s.load_system_host_keys()        \\ 載入主機秘鑰

    s.connect(hostname,port,username,password)  \\連結主機

    stdin,stdout,stderr=s.exec_command(‘ifconfig‘)  

                  \\執行命令 ifconfig    stdin:標準輸入stdout:標準輸出 stderr:標準錯誤

    print stdout.read() \\列印標準輸出的結果

    s.close()            \\關閉連結





從伺服器端上傳或下載檔案


#!/usr/bin/env python

import paramiko      匯入模組   

import os

hostname=‘192.168.10.106‘   \\定義需要連結的主機

port=22                      \\定義連結的連接埠

username=‘root‘               \\定義連結的帳號

password=‘123456‘              \\定義登陸密碼

dir_path=‘/home/soul/temp‘      \\定義請求下載的檔案路徑


if __name__==‘__main__‘:

t=paramiko.Transport((hostname,port))   \\建立一個傳輸對象

t.connect(username=username,password=password)  \\建立連結的伺服器

sftp=paramiko.SFTPClient.from_transport(t)       \\建立一個下載傳輸對象sftp

files=sftp.listdir(dir_path) 

                   \\建立一個files對象,用於存放listdir從指定的路徑dir_path中拿到的檔案

for f in files:          \\定義f從存放的檔案中輪詢

    print ‘Retrieving‘,f  \\列印拿到的檔案名稱

    sftp.get(os.path.join(dir_path,f),f)   \\從指定路徑下 下載檔案

    t.close()        \\關閉連結

下載:get  上傳put

如從本地將/home/soul/temp/paramiko-1.7.7.1.zip檔案上傳到伺服器的/home/路徑下

sftp.put(‘/home/soul/temp/paramiko-1.7.7.1.zip‘,‘/home/paramiko-1.7.7.1.zip‘)

t.close()


本文出自 “mysql主從同步” 部落格,請務必保留此出處http://7712585.blog.51cto.com/7702585/1872298

python paramiko模組的使

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.