不同的机器常有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文章
201浏览量
17868
发布评论请先 登录
相关推荐
热点推荐
各种PLC设备、智能仪表快速实现OPC UA服务端(含客户端测试过程)
埃和智能网关支持各种PLC设备、智能仪表通过HTTP、MQTT协议JSON格式对接MES等系统平台,也可以对接MySQL等SQL数据库,还可将设备数据转为OPC UA服务端,支持多客户端访问。包含
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)上看到以太网端口,因为这使它们作为瘦客户端更有用,而且对于这种尺寸的单板计算机来说,充裕的
SOLIDWORKS PDM Professional安装部署指南:从服务器到客户端的详细步骤
一份详尽的SOLIDWORKS PDM Professional安装指南,面向IT管理员,涵盖从SQL Server配置、服务器安装到客户端设置的全过程,确保您高效、正确地完成PDM系统部署
【HZ-RK3568开发板免费体验】MQTT服务搭建与客户端移植
耦合。
使用 TCP/IP 提供网络连接。
提供Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。
对消息中间件,估计大家不得不关心的就是消息的可靠性,也就是消息的发布
发表于 08-30 21:05
是否可以将客户端控件与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.提
[Q3] 没有ssh客户端怎么快速连接?
评论