1. 程式人生 > >python模擬ssh登錄

python模擬ssh登錄

err bit param docs auto exe false upgrade env

首先更新pip 然後安裝 pycrypto 、 paramiko;pycrypto是paramiko的內部依賴模塊

pip3.7 install --upgrade pip
pip3.7 install --upgrade pycrypto
pip3.7 install --upgrade paramiko

paramiko的api文檔可以訪問 http://docs.paramiko.org/en/2.4/

下面是ssh登錄實例

#!/usr/local/bin/python3.7
import paramiko

#創建paramiko的SSH客戶端
client = paramiko.client.SSHClient()

#設置本地主機無主機的key時的策略,
#這裏使用paramiko.client.AutoAddPolicy這個策略,就是自動添加主機名及新主機key到本地的HostKeys對象。
client.set_missing_host_key_policy(paramiko.client.AutoAddPolicy())

#connect連接的方法可參考這裏
#connect(hostname, port=22, username=None, password=None, pkey=None, 
#key_filename=None, timeout=None, allow_agent=True, look_for_keys=True, 
#compress=False, sock=None, gss_auth=False, gss_kex=False, gss_deleg_creds=True, 
#gss_host=None, banner_timeout=None, auth_timeout=None, gss_trust_dns=True, passphrase=None)
clent.connect(‘127.0.0.1‘,port=22,username=‘root‘,password="okokokok")

#exec_command(command, bufsize=-1, timeout=None, get_pty=False, environment=None)?
stdin,stdout,stderr = client.exec_command(‘ls -l‘,timeout=60)

#讀取輸出結果
result = stdout.read()

#把bite轉成string 這樣看的輸出更整潔
result = result.decode();
#打印結果
print(result)
#關閉ssh連接
client.close()

python模擬ssh登錄