Python 3 x paramiko模組詳解

2021-08-16 02:34:13 字數 2698 閱讀 2358

一、使用paramiko模組實現ssh功能

下列**在windows上執行,連線虛擬機器中centos系統。

import

paramiko

#建立ssh物件

ssh =paramiko.sshclient()

#允許連線不在known_hosts檔案上的主機

ssh.set_missing_host_key_policy(paramiko.autoaddpolicy())

#連線伺服器

ssh.connect(hostname="

192.168.0.99

", port=22, username="

root

", password="

rootroot")

#執行命令

stdin, stdout, stderr = ssh.exec_command('df'

)#獲取結果

result =stdout.read().decode()

#獲取錯誤提示(stdout、stderr只會輸出其中乙個)

err =stderr.read()

#關閉連線

ssh.close()

print(stdin, result, err)

注:如果注釋「ssh.set_missing_host_key_policy(paramiko.autoaddpolicy())」這句,會報錯。

類似問題可以為linux系統中~/.ssh/known_hosts檔案中的內容。

二、實現sftp功能

import

paramiko

#連線虛擬機器centos上的ip及埠

transport = paramiko.transport(("

192.168.0.99

", 22))

transport.connect(username="

root

", password="

rootroot")

#將例項化的transport作為引數傳入sftpclient中

sftp =paramiko.sftpclient.from_transport(transport)

#將「calculator.py」上傳到filelist資料夾中

sftp.put('

d:\python庫\python_shell\day05\calculator.py

', '

/filelist/calculator.py')

#sftp.get('

/filedir/aaa.txt

', r'

c:\users\duany_000\desktop\test_aaa.txt')

transport.close()

注:如果遇到windows中路徑問題,鏈結如下**

三、使用秘鑰實現ssh功能

import

paramiko

private_key = paramiko.rsakey.from_private_key_file('

id_rsa31')

#建立ssh物件

ssh =paramiko.sshclient()

ssh.set_missing_host_key_policy(paramiko.autoaddpolicy())

#連線伺服器

ssh.connect(hostname='

192.168.79.9

', port=22, username='

root

', pkey=private_key)

stdin, stdout, stderr = ssh.exec_command('

ifconfig')

res_out =stdout.read()

print

(res_out.decode())

ssh.close()

四、使用秘鑰實現sftp功能

import

paramiko

private_key = paramiko.rsakey.from_private_key_file('

id_rsa31')

#連線虛擬機器centos上的ip及埠

transport = paramiko.transport(("

192.168.79.9

", 22))

transport.connect(username="

root

", pkey=private_key)

#將例項化的transport作為引數傳入sftpclient中

sftp =paramiko.sftpclient.from_transport(transport)

#將「calculator.py」上傳到filelist資料夾中

sftp.put('

d:\python庫\python_shell\day05\calculator.py

', '

/filedir/calculator.py')

#sftp.get('

/filedir/oldtext.txt

', r'

c:\users\duany_000\desktop\oldtext.txt')

transport.close()

python3 切片 python3 切片

取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。取前n...

python3安裝 Python3的安裝

1.anaconda安裝 2.安裝包安裝 3.linux下的命令列安裝 centos red hat 1 sudo yum install y sudo yum update3 sudo yum install y python35u python35u libs python35u devel p...

python3異常例項 Python3 錯誤和異常

錯誤和異常 程式執行時有兩種可以分辨的錯誤 syntax error 和 exception 按中文來說,就是語法錯誤和異常。語法錯誤 語法錯誤也就是解析錯誤,是我們最優可能遇到的錯誤。while true print hello world file line 1,in?while true pr...