Python程式設計 paramiko模組遠端登入

2021-08-14 20:57:01 字數 3079 閱讀 1393

ssh:安全外殼協議 ssh: secure shell protocol

安全外殼協議(ssh)是一種在不安全網路上提供安全遠端登入及其它安全網路服務的協議。

說明:以下**使用windows訪問linux(centos)

安裝第三方庫

pip install paramiko
import paramiko

# 建立乙個sshclient物件

ssh = paramiko.sshclient(

)# 允許將信任的主機自動加入到host_allow 列表,此方法必須放在connect方法的前面

ssh.set_missing_host_key_policy(paramiko.autoaddpolicy())

# 呼叫connect方法連線伺服器

ssh.connect(hostname=

"hostaddress"

, port=

22, username=

"root"

, password=

"password"

)# 執行命令 加入引數 get_pty=true 可執行多條指令(分號;隔開)

stdin, stdout, stderr = ssh.exec_command(

"df"

)# 結果放到stdout中,如果有錯誤將放到stderr中

stdout = stdout.read(

).decode(

"utf-8"

)stderr = stderr.read(

).decode(

"utf-8"

)print

(stdout)

print

(stderr)

# 關閉連線

ssh.close(

)

import paramiko

# 匯入檔案中的私鑰

private_key = paramiko.rsakey.from_private_key_file(

"private_key.txt"

)# 建立乙個sshclient物件

ssh = paramiko.sshclient(

)# 允許將信任的主機自動加入到host_allow 列表,此方法必須放在connect方法的前面

ssh.set_missing_host_key_policy(paramiko.autoaddpolicy())

# 呼叫connect方法連線伺服器

ssh.connect(hostname=

"hostaddress"

, port=

22, username=

"root"

, pkey=private_key)

# 執行命令

stdin, stdout, stderr = ssh.exec_command(

"df"

)# 結果放到stdout中,如果有錯誤將放到stderr中

res_out = stdout.read(

).decode(

"utf-8"

)res_err = stderr.read(

).decode(

"utf-8"

)result = res_out if res_out else res_err

print

(result)

# 關閉連線

ssh.close(

)

import paramiko

transport = paramiko.transport(

("hostaddress",22

))transport.connect(username=

"root"

, password=

"password"

)sftp = paramiko.sftpclient.from_transport(transport)

# 上傳伺服器

sftp.put(

"登鸛雀樓"

,"登鸛雀樓"

)sftp.get(

"登鸛雀樓"

,"1.txt"

)transport.close(

)print

("ok"

)

import paramiko

# 匯入檔案中的私鑰

private_key = paramiko.rsakey.from_private_key_file(

"private_key.txt"

)transport = paramiko.transport(

("hostaddress",22

))transport.connect(username=

"root"

, pkey=private_key)

sftp = paramiko.sftpclient.from_transport(transport)

# 上傳伺服器

sftp.put(

"登鸛雀樓"

,"登鸛雀樓"

)sftp.get(

"登鸛雀樓"

,"2.txt"

)transport.close(

)print

("ok"

)

a 電腦 --登陸–> b 電腦

a: private key 私鑰

b: public key 公鑰

以root使用者為例:

linux 生成公鑰私鑰對 (密碼均為空):ssh-keygen

進入目錄:cd ~/.ssh

拷貝乙份公鑰(推薦,不要複製貼上,有坑):cat id_dsa.pub >> authorized_keys

修改許可權:chmod 600 authorized_keys

421rwx rwx rwx

屬主 屬組 其他

將私鑰複製出來拷貝到客戶端,儲存為private_key.txt (名字可以隨意取)

python程式設計遊戲 python程式設計遊戲有哪些

1.github上面有個專案free python games,裡面集合了不少的python開發的小遊戲,能玩,也適合新手用來練練手,另外 pygame 這個 裡面裡面集合了很多python開發的小遊戲。3.小時候經常在手機上玩的乙個遊戲,也是一款經典的街機遊戲,這款遊戲進化之後其實就是乙個打桌球的...

python程式設計案例 python程式設計案例

利用python內建函式和列表物件方法def demo2 x,y,z i max x ipos x.index i j max y jpos y.index j k max z kpos z.index k return i j k,ipos,jpos,kpos 但是,上面的 看上去還是很笨啊,傻傻...

python程式設計題 python程式設計題庫

上期題目連線 1000道python題庫系列分享十一 9道 上期題目答案 本期題目 機器之心報道機器之心編輯部想要備戰 python 面試,這兩個專案有千道 python 問題與實現。之前機器之心介紹了 phd 大牛的求職之路,很多讀者感覺這位大牛太厲害了,他的經歷對我們幫助不大。對於一般的機器學習...