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

    文章

    184

    浏览量

    16282
收藏 人收藏

    评论

    相关推荐

    AT模式建立TCP客户端连接一直不成功是怎么回事?

    =\"TCP\",\"192.168.0.111\",8080 ERROR CLOSED 网络调试助手软件建立 TCP 服务 端口号:8080 如果用8266建立服务,网络调试助手建立客户端,则可以正常
    发表于 07-18 06:42

    esp_iot_sdk_v0.9.6_b1客户端断开连接导致WDT重置怎么解决?

    客户端断开连接,服务器一定不会挂起。实际上,由于客户端启动了连接,因此客户端理所当然地应该能够断开连接
    发表于 07-18 06:33

    如果ESP上的TCP客户端与服务器断开连接,如何启用自动重连?

    ESP - TCP 客户端 嵌入式 Linux 服务器 - TCP 服务器 如果ESP上的TCP客户端与服务器断开连接,如何启用自动重连?
    发表于 07-17 06:25

    如何获取连接的TCP客户端的ESPCONN指针?

    我几乎阅读了 SDK API 指南版本 1.0.1 的所有文档 并开始了解如何添加用户 AT 命令。 这真的很简单,只需拨打at_cmd_array_register。 BUT! 如何获取连接的 TCP 客户端的 ESPCONN 指针?
    发表于 07-12 14:54

    Esp8266与SSL REST的连接失败,并显示“客户端握手失败”,为什么?

    Esp8266 与 SSL REST 的连接失败,并显示“客户端握手失败”
    发表于 07-12 07:43

    如何同时在ESP8266上运行TCP客户端和TCP服务?

    我们是 esp8266 的长期用户,并在该芯片上运行数千台家庭自动化类别的现场设备。然而,一个小小的限制阻碍了我们开发一些更有趣和创新的产品。 要求:我们需要同时运行 TCP 客户端连接
    发表于 07-08 08:26

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-scp出现报错no matching host key type found. Their offer: ssh-rsa

    这个报错通常出现在使用SSH连接时,SSH客户端与服务器之间无法达成共识,无法找到匹配的主机密钥类型,可能是因为SSH
    发表于 06-29 09:33

    飞凌嵌入式ElfBoard ELF 1板卡-scp出现报错no matching host key type found. Their offer: ssh-rsa

    这个报错通常出现在使用SSH连接时,SSH客户端与服务器之间无法达成共识,无法找到匹配的主机密钥类型,可能是因为SSH
    发表于 06-29 09:30

    求助,关于ESP32C3 TCP客户端连接断线问题求解

    ESP32C3开启AP模式做TCP服务器,手机做客户端连接服务器;超过默认最大连接数(5)以后,即使有部分客户端断开了,也无法再发起
    发表于 06-27 07:54

    请问esp32能支持多个客户端同时连接吗?

    根据我现在的测试结果,esp32作为ble server时同时支持一个客户端连接,前一个客户端必须断开蓝牙连接,后一个才能连接。实际esp3
    发表于 06-11 06:25

    使用FreeRTOS+LwIP开发版做客户端断开后不能够重新连接

    ,服务器也能够发送数据到开发版客户端,服务器断开、连接操作都正常 3、是不是开发版做客户端
    发表于 04-30 07:48

    HarmonyOS开发实例:【分布式新闻客户端

    基于栅格布局、设备管理和多端协同,实现一次开发,多端部署的分布式新闻客户端页面。
    的头像 发表于 04-17 15:57 805次阅读
    HarmonyOS开发实例:【分布式新闻<b class='flag-5'>客户端</b>】

    如何通过SSH连接到Linux计算机?

    的基本概念与工作原理 SSH是一种用于在不可信的网络中建立安全连接的网络协议。它能够通过加密和身份验证来保护远程访问和数据传输的安全。 SSH使用了一对称密码体制,即客户端和服务器使用
    的头像 发表于 01-12 16:06 1237次阅读

    适用于Linux的基于Rust的同步客户端介绍

    一个简单而优雅的 GUI 同步客户端,提供双向同步。
    的头像 发表于 01-05 11:32 561次阅读
    适用于Linux的基于Rust的同步<b class='flag-5'>客户端</b>介绍

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

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