0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

[Q3] 没有ssh客户端怎么快速连接?

jf_09956657 2023-01-06 18:14 次阅读

不同的机器常有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
    SSH
    +关注

    关注

    0

    文章

    177

    浏览量

    16081
收藏 人收藏

    评论

    相关推荐

    stm32 +lwip1.3.1客户端异常导致网络ping不通怎么解决?

    stm32上运行lwip作为服务器,如果客户端异常了,发现在客户端再也ping不通 网络如果异常,交换机挂了,重启后,客户端怎么都ping不通stm32 有没有遇到同样的问题? 不是
    发表于 04-22 07:30

    分享一款别样的ssh客户端-PortX

    目前支持ssh客户端有很多,比如putty、crt、xshell等,今天分享一款别样的ssh客户端-PortX,通过简单但全面的UI,PortX为您提供了纯粹的终端模拟体验。
    的头像 发表于 01-02 13:37 224次阅读
    分享一款别样的<b class='flag-5'>ssh</b><b class='flag-5'>客户端</b>-PortX

    在esp8266中内置客户端WEB,请问有固件版本的要求吗?

    各位大神好!我想在8266中内置客户端WEB,请问有固件版本的要求吗?WEB内容是不是可以自己定制?有没有相关方面的资料吗?我在上看到《esp8266从零快速开发教程》,但是链接已经失效了,有
    发表于 11-08 08:07

    AT32基于FreeRTOS的AWS MQTT客户端

    AT32基于FreeRTOS的AWS MQTT客户端建立一个MQTT客户端与 AWS IoT Core进行通讯,用户可以基于这个范例去开发属于自己的应用。
    发表于 10-26 06:03

    【触觉智能 Purple Pi OH 开发板体验】无网络状态连接ssh解决办法

    SSH代理服务器,可以访问内部网络资源,而无需直接将服务暴露在外部网络。这对于保护内部网络安全非常有用。 移动设备连接: 移动设备上也有SSH客户端应用,使用户能够通过手机或平板电脑
    发表于 08-20 12:38

    HTTP客户端快速入门指南

    HTTP客户端快速入门指南
    发表于 07-03 18:38 0次下载
    HTTP<b class='flag-5'>客户端</b><b class='flag-5'>快速</b>入门指南

    MQTT客户端快速入门指南 按键按下

    MQTT客户端快速入门指南 按键按下
    发表于 07-03 18:34 0次下载
    MQTT<b class='flag-5'>客户端</b><b class='flag-5'>快速</b>入门指南 按键按下

    015. 15 SSH07 客户端认证 #硬声创作季

    SSH
    充八万
    发布于 :2023年06月29日 08:29:43

    如何检查连接到我的esp的客户端数量?

    我想像我的 esp8266 和 realy 的简单应用程序。我想打开门(通过继电器),当我输入 esp 地址时。 那么如何检查连接到我的 esp 的客户端数量?
    发表于 06-09 08:20

    ESP8266为什么不能根据来自客户端连接触发新的html网页?

    我正在尝试在 ESP8266 上创建客户端程序以响应多个 html 网页;当客户选择按钮时。基本上不同的页面用于不同的 LED 控件集。我正在使用 WiFiClient 客户端创建与服务器的
    发表于 06-06 10:37

    服务器和客户端之间的TCP通信丢失怎么处理?

    嗨, 当 WiFi 信号变低时,比如超过 -80dBm,我面临服务器和客户端之间的 TCP 通信丢失。一旦客户端断开连接,它就无法重新连接并正常进行通信。 如何让
    发表于 05-16 08:19

    ESP8266是否支持SSH客户端连接

    我想执行连接到私有 GitHub 存储库的高度安全更新。但是我需要为此登录,GitHub 通过 SSH 提供连接,但我找不到关于此的任何文档或示例。 这是支持吗? 我该怎么做?
    发表于 05-16 07:27

    如何在rtos mqtt示例中获取客户端句柄?

    中,我调用 代码:全选esp_mqtt_client_publish() 但我没有客户端句柄,它只在回调中设置。我尝试使用客户端句柄的全局副本,但它没有用,除了是个坏主意: 代码:全
    发表于 05-15 08:13

    当WiFi信号变低时,服务器和客户端之间的TCP通信丢失,如何使客户端重新连接

    大家好, 当 WiFi 信号变低时,服务器和客户端之间的 TCP 通信丢失,比如超过 -80dBm。一旦客户端断开连接,它就无法重新连接并正常进行通信。如何让
    发表于 05-15 07:31

    esp8266和arduino连接并创建了一个网络服务器,为什么网络浏览器中输入ip时客户端没有按回车就连接了?

    时,一个客户端没有按回车就连接了?当我按回车时另一个客户端连接了?我认为这不正常。是吗? 2.我还注意到很多次
    发表于 05-12 06:26