不同的機器常有ssh的需求,可惜客戶端實在太難找,用paramiko可以快速完成連接,比如,
# coding : utf-8
# @Goal : use paramiko to ssh
# prepare : see below
# input : none
# output : command output
# @Author : chi
# @Time : 2022.12.12
# @Prepare :
# 1 Scriptspip3 install paramiko
# @License : MIT
# -*- coding: utf-8 -*-
import paramiko
RED_COLOR='33[1;31;48m' #紅 ,配置終端輸出的顏色
BLUE_COLOR='33[1;34;48m' #藍 ,配置終端輸出的顏色
RES='33[0m'
def SSH_Pkey(Host,UserName,Pkey,Port=22):
#基于用戶名密鑰連接并執行命令
try:
SSH = paramiko.SSHClient()
# use key_file
# private_key = paramiko.RSAKey.from_private_key_file(Pkey)
# SSH.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# SSH.connect(hostname=Host, port=Port, username=UserName,key_filename=Pkey)
# or use key_word
know_host = paramiko.AutoAddPolicy()
SSH.set_missing_host_key_policy(know_host)
SSH.connect(hostname=Host, port=Port, username=UserName,password=Pkey)
# 執行命令
print ("%s成功登錄到服務器%s,請輸入操作命令!%s"%(RED_COLOR,Host,RES) )
while True:
CMD=input('%s請輸入輸入操作命令:%s'%(BLUE_COLOR,RES))
if CMD=='exit':
print ("%s執行%s命令退出!%s" %(RED_COLOR,CMD,RES))
# 關閉連接
SSH.close()
break
else:
stdin, stdout, stderr = SSH.exec_command(CMD)
print ("%s執行命令%s返回結果:%s"%(RED_COLOR,CMD,RES))
for i in stdout.read().splitlines():
print (i.decode('utf-8'))
except :
print ("%sSSH遠程登錄失敗,退出程序!n" %(RED_COLOR,RES ))
if __name__ == '__main__':
Host='192.1.1.1'
UserName='root'
SSH_Key=r'root' # or file 'D:\key'
Port = 22
SSH_Pkey(Host=Host,UserName=UserName,Pkey=SSH_Key,Port=Port)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
SSH
+關注
關注
0文章
200瀏覽量
17724
發布評論請先 登錄
相關推薦
熱點推薦
EtherCAT FOE工作原理揭秘:客戶端-服務器模型如何運轉?
上期我們聊了EtherCATFOE的五大應用場景,本期深入解析其底層工作機制。FOE究竟是如何實現文件傳輸的?答案藏在客戶端-服務器模型中。核心架構:一客戶端多服務器在EtherCAT網絡中,FOE
SSH與Xshell的本質區別及功能對比
供圖形界面工具,需依賴命令行或第三方客戶端實現功能。
Xshell:是一款商業化的終端模擬軟件,屬于SSH協議的實現工具之一。它通過圖形化界面封裝SSH協議的復雜性,提供便捷的遠程連接
發表于 11-07 06:40
agile_ftp傳輸文件時客戶端報錯誤怎么解決?
]客戶端使用的filezilla
[size=21.3333px]
[size=21.3333px]現象:
[size=21.3333px]filezilla客戶端可以正常上傳文件,但傳輸完畢時客戶端會報
發表于 11-05 10:49
libmodbus庫問題:TCP模式下客戶端超時斷開后無法再次重連怎么解決?
情況1 :用libmodbus的TCP demo,發現用客戶端軟件連接收發如果超時后在啟動連接就無法連接上libmodbus服務器了,聲明:客戶端
發表于 10-14 08:17
SSH 遠程連接內網 Linux 服務器
利用 ZeroNews,您可對用內網的 Linux 服務器進行統一的 SSH 遠程連接管理,當用戶外出時,可通過 ZeroNews 分配的公網域名地址,快速訪問企業內部、家庭的 Linux
OrangePi Zero 3,輕量級客戶端的完美選擇
千兆以太網端口用于充電的USB-C接口我很喜歡在較小的單板計算機(SBC)上看到以太網端口,因為這使它們作為瘦客戶端更有用,而且對于這種尺寸的單板計算機來說,充裕的
是否可以將客戶端控件與CYW920706WCDEVAL一起使用?
是否可以將客戶端控件與CYW920706WCDEVAL一起使用? 我想用它來發現藍牙 BR/EDR,然后將其與其他設備配對。
有客戶端控制的下載鏈接或文檔嗎?
另外,你有 AIROC Connect 藍牙應用程序的文檔嗎?
發表于 07-04 07:50
CYW20820 GATT服務器可以支持多少個來自GATT客戶端的同時連接嗎?
有人能告訴我 CYW20820 GATT 服務器可以支持多少個來自 GATT 客戶端的同時連接嗎?
發表于 06-30 07:47
極簡教程:快速在樹莓派上運行OpenVPN客戶端!
這兩樣東西后,你需要:1.準備服務器2.配置客戶端3.測試連接準備服務器:假設你已經有了OpenVPN服務器,你需要:提供客戶端配置為樹莓派設置靜態IP地址1.提
從連接中樞到終端接入——解析工業無線AP與客戶端的協同之道
在工業物聯網(IIoT)蓬勃發展的當下,無線通信技術成為連接工業設備、實現智能化生產的關鍵紐帶。其中,工業無線AP和工業無線客戶端扮演著不可或缺的角色,二者既存在諸多相同之處,又在功能特性、應用場
MKW45B41Z客戶端無法從服務器獲取服務是為什么?
。MKW45B41Z (自定義板) 充當中央設備客戶端角色。MKW45 客戶端掃描外圍設備(NRF 連接)設備并連接到外圍設備(NRF 連接
發表于 03-28 07:40
[Q3] 沒有ssh客戶端怎么快速連接?
評論