paramiko是基於python實現的ssh2遠端安全連線,支援認證及金鑰方式遠端執行命令、檔案傳輸,中間ssh**等
安裝好之後,用paramiko模組寫乙個簡單的遠端ssh執行命令,**如下:
importparamiko
#建立ssh物件
ssh =paramiko.sshclient()
#允許連線不在know_hosts檔案中的主機
ssh.set_missing_host_key_policy(paramiko.autoaddpolicy())
#連線遠端伺服器
ssh.connect(hostname='
192.168.189.136
',port=22,username='
root
',password='
admin123 ')
#執行命令
stdin,stdout,stderr = ssh.exec_command('
df -h')
#獲取命令結果
result =stdout.read()
#列印結果
(result.decode())
#關閉連線
ssh.close()
sshclient類是乙個ssh服務會話的高階表示,該類封裝了傳輸(transport),通道(channel)及sftpclient的校驗,建立的方法,通常用於執行遠端命令。有如下方法:
connect(self, hostkey=none, username='', password=none, pkey=none,gss_host=none, gss_auth=false, gss_kex=false, gss_deleg_creds=true)
引數說明:
exec_command(self,command,bufsize=-1,timeout=none,get_pty=false,environment=none)
遠端執行命令方法,該命令的輸入與輸入流為標準輸入(stdin)、輸出(stdout)、錯誤(stderr)
load_system_host_keys方法
load_host_keys(self, filename)
載入本地總要校驗檔案,預設為~/.ssh/known_hosts,非預設另需要手工指定。
引數說明:
set_missing_host_key_policy(self, policy)
設定連線的遠端主機沒有本地主機秘鑰或hostkeys物件時的策略,目前支援三種,分別是:autoaddpolicy、rejectpolicy(預設)、warningpolicy,三者的含義如下:
from_transport(cls, t, window_size=none, max_packet_size=none)
引數說明:
例子:
transport = paramiko.transport(('192.168.1.23
',22))
transport.connect(username="
root
",password="
123456")
sftp = paramiko.sftpclient.from_transport(transport)
put(self, localpath, remotepath, callback=none, confirm=true)
長傳本地檔案到遠端sftp服務端
引數說明:
get(self, remotepath, localpath, callback=none)
引數說明:
localpath(str型別):本地路徑
callback(function(init,init)): 獲取已接收的位元組數及總傳輸位元組數,以便**函式呼叫,預設為none
其他方法:
importparamiko
#t就相當於建立通道
t = paramiko.transport(("
192.168.1.23
",22))
t.connect(username="
root
",password="
123456")
#這裡表示sftp通過t這個通道傳輸資料
sftp =paramiko.sftpclient.from_transport(t)
#sftp.put("ssh例子.py","/tmp/aaa.py")
sftp.get(
"/tmp/aaa.py
","sss")
sftp.close()
python 堡壘機講解及例項
paramiko模組,該模組基於ssh用於連線遠端伺服器並執行相關操作。sshclient 用於連線遠端伺服器並執行基本命令 coding utf 8 import paramiko ssh paramiko.sshclient 建立ssh物件 ssh.set missing host key po...
小楊學python(十七) 堡壘機
集中式認證 ldap ad 域 windows 堡壘機作用 許可權可控,使用者審計 主流堡壘機 1.商業堡壘機 齊治 堡壘機 被360投資了 2.開源堡壘機 比如jumpserver alex寫的 crazyeye 小點 traceback 把異常在哪行列印出來 小點 getpass.getuser...
python程式設計之美
許久沒有用python,好多都忘得差不多了,以至於面試 趕緊複習,求下次輕虐。1 cmp list1,list2 比較兩個列表的元素 2 len list 列表元素個數 3 max list 返回列表元素最大值 4 min list 返回列表元素最小值 5 list seq 將元組轉換為列表 2 l...