Python 堡壘機程式設計之Paramiko

2022-09-12 18:30:19 字數 2490 閱讀 7609

paramiko是基於python實現的ssh2遠端安全連線,支援認證及金鑰方式遠端執行命令、檔案傳輸,中間ssh**等

安裝好之後,用paramiko模組寫乙個簡單的遠端ssh執行命令,**如下:

import

paramiko

#建立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()

#列印結果

print

(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

其他方法:

import

paramiko

#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...