標籤: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
測試指令碼
#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()
本文出自 “my_soul” 部落格,請務必保留此出處http://soul455879510.blog.51cto.com/6180012/1872311
python paramiko模組的使