標籤:exe div log missing stdin 上傳 環境 stderr pyc
paramiko
一、安裝
pip3.5 install paramikopip3.5 install pycrypto
1 # pycrypto,由於 paramiko 模組內部依賴pycrypto,所以先下載安裝pycrypto 2 3 # 下載安裝 pycrypto 4 wget http://xxxxxx/pycrypto-2.6.1.tar.gz 5 tar -xvf pycrypto-2.6.1.tar.gz 6 cd pycrypto-2.6.1 7 python setup.py build 8 python setup.py install 9 10 # 進入python環境,匯入Crypto檢查是否安裝成功11 12 # 下載安裝 paramiko13 wget http://xxxxxx/paramiko-1.10.1.tar.gz14 tar -xvf paramiko-1.10.1.tar.gz15 cd paramiko-1.10.116 python setup.py build17 python setup.py install18 19 # 進入python環境,匯入paramiko檢查是否安裝成功
二、說明
paramiko功能強大可命令、可檔案
三、執行個體:
1、命令版: 密碼、KEY
1 import paramiko 2 3 ssh = paramiko.SSHClient() 4 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 5 ssh.connect(‘hostname‘, 22, ‘username‘, ‘password‘) 6 stdin, stdout, stderr = ssh.exec_command(‘df‘) 7 print stdout.read() 8 ssh.close(); 9 10 ????????????????????????????????????11 ###基於key12 #-*- encoding:utf8 -*-13 14 import paramiko15 private_key_path="/Users/tf/.ssh/id_rsa"16 17 key = paramiko.RSAKey.from_private_key_file(private_key_path)18 ssh = paramiko.SSHClient()19 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())20 ssh.connect("192.168.1.1", 22, ‘username‘, key)21 stdin, stdout, stderr = ssh.exec_command("df")22 result = ssh.exec_command("ifconfig")23 print(stdout.read())24 print(result[1].read())25 26 ssh.close()
2、檔案get\put
密碼:
1 import paramiko2 3 t = paramiko.Transport(("ipaddr",22))4 t.connect(username=‘uuu‘,password=‘123‘)5 sftp = paramiko.SFTPClient.from_transport(t)6 sftp.put(‘/tmp/test.py‘,‘/tmp/test.py‘) 7 ##下載8 sftp.get(‘file‘, ‘file‘)9 t.close()
產生key: ssh-key-gen
利用Key
1 #-*- encoding:utf8 -*- 2 3 import paramiko 4 5 pravie_key_path = "/Users/xx/.ssh/id_rsa" 6 key = paramiko.RSAKey.from_private_key_file(pravie_key_path) 7 8 t = paramiko.Transport((‘192.168.1.111‘, 22)) 9 t.connect(username=‘xx‘,pkey=key)10 11 sftp = paramiko.SFTPClient.from_transport(t)12 sftp.get(‘/tmp/ubuntu.txt‘,‘/tmp/test4.py‘) # 下載13 sftp.put("/tmp/learn_corde_05.rtf", "/tmp/learn_corde.rtf") ##上傳14 t.close()
Python 學習記錄之----模組 paramiko