不同的機器常有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):
#基于用戶名密鑰連接并執(zhí)行命令
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)
# 執(zhí)行命令
print ("%s成功登錄到服務(wù)器%s,請輸入操作命令!%s"%(RED_COLOR,Host,RES) )
while True:
CMD=input('%s請輸入輸入操作命令:%s'%(BLUE_COLOR,RES))
if CMD=='exit':
print ("%s執(zhí)行%s命令退出!%s" %(RED_COLOR,CMD,RES))
# 關(guān)閉連接
SSH.close()
break
else:
stdin, stdout, stderr = SSH.exec_command(CMD)
print ("%s執(zhí)行命令%s返回結(jié)果:%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)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
SSH
+關(guān)注
關(guān)注
0文章
185瀏覽量
16308
發(fā)布評論請先 登錄
相關(guān)推薦
邁威通信工業(yè)無線客戶端:智能制造的高效連接新解法
隨著智能制造的興起,企業(yè)越來越依賴自動化和數(shù)字化技術(shù)來提高生產(chǎn)效率和靈活性。工業(yè)無線客戶端作為連接各個設(shè)備和系統(tǒng)的橋梁,其重要性日益凸顯。通過工業(yè)無線客戶端,可以實現(xiàn)設(shè)備間的實時數(shù)據(jù)交換和遠程監(jiān)控,從而進一步提升生產(chǎn)過程的智能化
esp_iot_sdk_v0.9.6_b1客戶端斷開連接導(dǎo)致WDT重置怎么解決?
客戶端斷開連接,服務(wù)器一定不會掛起。實際上,由于客戶端啟動了連接,因此客戶端理所當(dāng)然地應(yīng)該能夠斷開連接
發(fā)表于 07-18 06:33
如果ESP上的TCP客戶端與服務(wù)器斷開連接,如何啟用自動重連?
ESP - TCP 客戶端
嵌入式 Linux 服務(wù)器 - TCP 服務(wù)器
如果ESP上的TCP客戶端與服務(wù)器斷開連接,如何啟用自動重連?
發(fā)表于 07-17 06:25
如何獲取連接的TCP客戶端的ESPCONN指針?
我?guī)缀蹰喿x了 SDK API 指南版本 1.0.1 的所有文檔
并開始了解如何添加用戶 AT 命令。
這真的很簡單,只需撥打at_cmd_array_register。
BUT!
如何獲取連接的 TCP 客戶端的 ESPCONN 指針?
發(fā)表于 07-12 14:54
如何同時在ESP8266上運行TCP客戶端和TCP服務(wù)?
我們是 esp8266 的長期用戶,并在該芯片上運行數(shù)千臺家庭自動化類別的現(xiàn)場設(shè)備。然而,一個小小的限制阻礙了我們開發(fā)一些更有趣和創(chuàng)新的產(chǎn)品。
要求:我們需要同時運行 TCP 客戶端(連接
發(fā)表于 07-08 08:26
嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-scp出現(xiàn)報錯no matching host key type found. Their offer: ssh-rsa
這個報錯通常出現(xiàn)在使用SSH連接時,SSH客戶端與服務(wù)器之間無法達成共識,無法找到匹配的主機密鑰類型,可能是因為SSH
發(fā)表于 06-29 09:33
飛凌嵌入式ElfBoard ELF 1板卡-scp出現(xiàn)報錯no matching host key type found. Their offer: ssh-rsa
這個報錯通常出現(xiàn)在使用SSH連接時,SSH客戶端與服務(wù)器之間無法達成共識,無法找到匹配的主機密鑰類型,可能是因為SSH
發(fā)表于 06-29 09:30
求助,關(guān)于ESP32C3 TCP客戶端連接斷線問題求解
ESP32C3開啟AP模式做TCP服務(wù)器,手機做客戶端連接服務(wù)器;超過默認最大連接數(shù)(5)以后,即使有部分客戶端斷開了,也無法再發(fā)起
發(fā)表于 06-27 07:54
請問esp32能支持多個客戶端同時連接嗎?
根據(jù)我現(xiàn)在的測試結(jié)果,esp32作為ble server時同時支持一個客戶端連接,前一個客戶端必須斷開藍牙連接,后一個才能連接。實際esp3
發(fā)表于 06-11 06:25
使用FreeRTOS+LwIP開發(fā)版做客戶端斷開后不能夠重新連接?
,服務(wù)器端也能夠發(fā)送數(shù)據(jù)到開發(fā)版客戶端,服務(wù)器端斷開、連接操作都正常
3、是不是開發(fā)版做客戶端不
發(fā)表于 04-30 07:48
如何通過SSH連接到Linux計算機?
的基本概念與工作原理 SSH是一種用于在不可信的網(wǎng)絡(luò)中建立安全連接的網(wǎng)絡(luò)協(xié)議。它能夠通過加密和身份驗證來保護遠程訪問和數(shù)據(jù)傳輸?shù)陌踩?SSH使用了一對稱密碼體制,即客戶端和服務(wù)器使用
分享一款別樣的ssh客戶端-PortX
目前支持ssh的客戶端有很多,比如putty、crt、xshell等,今天分享一款別樣的ssh客戶端-PortX,通過簡單但全面的UI,PortX為您提供了純粹的終端模擬體驗。
評論