基于paramiko实现SSH的连接问题

关于SSH paramiko使用遇到的问题 菜鸟学python,菜鸟视角遇到的一些ssh paramiko使用的问题 阅读详情

搭建CMDB有四种方式,其中一种就是SSH(安全外壳协议)类的方式来实现,而这种方式是基于paramiko模块的。
在这里插入图片描述
本次实验是通过window向ubuntu远程的发送请求,尝试登陆Ubuntu。
在这里插入图片描述
我们可以发现Ubuntu的IP地址就是192.168.226.128

当我们运行代码,尝试实现远程登陆时,

import paramiko

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='192.168.226.128',port=22, username='ubuntu1', password='root123456')

# 执行命令
stdin, stdout, stderr = ssh.exec_command('ifconfig')

# 获取命令结果
result = stdout.read()
ssh.close()

print(result)

然后打开虚拟机开了一个ubuntu,执行时,却遇到了提示:paramiko.ssh_exception.NoValidConnectionsError的错误。

这说明连接服务器(即Ubuntu系统)是可能存在着错误。我们排除下错误,不是上面的四个参数错误,那么还有一个可能就是Ubuntu系统的SSH服务器没有启动。

我们可以通过netstat -ntl,查看22端口是否开通
查看端口
此时发现开通的端口仅有53和631,并没有22号端口,那么出现错误的问题应该就是在这儿了。

接下来我们需要手动启动22号端口。

  • 步骤1:sudo ufw disable 关闭防火墙

  • 步骤2:sudo apt install openssh-server openssh-client安装openSSH的服务器和客户端

  • 步骤3:netstat -ntl 查看启动的端口号
    在这里插入图片描述

这时候才开启了22号端口,重新回去执行代码吧。
在这里插入图片描述


Connection reset by peer / paramiko.ssh_exception.SSHException: Error reading SSH protocol banner Python 报错处理 Connection reset by peer / paramiko.ssh_exception.SSHException: Error reading SSH protocol banner 阅读详情

相关推荐

paramiko的依赖关系

最近一个项目有一个自动备份数据库,并将备份文件传输到另外一台服务器的需求。项目是部署在windows上的,公司的运维对window的相关脚本不熟悉,就帮着用python的paramiko模块写了一个。 完成过程还算比较顺利。拿到服务器上调试的时候就出各种问题: 1.首先是SSH的问题 本机使用的是window10的系统,win10的系统已经集成了openssh的功能,在功能里面直接安装就可以了。但是服务没有,我们首先是安装了feeSSHDserivece这个程序,失败。最终还是找到openssh第三方程序来

gongenhong的博客 1499

Appium+Python移动自动化【3】:paramiko解决ssh登陆报错

问题1: 我的代码: import paramiko ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='127.0.0.1', port=4723, username=...

xiaocai5731的博客 4238

Python-基于pexpect的SSH连接与执行远程命令

首先说几个问题: 同样百度了博客等渠道,很多方式基于paramiko库,但是这种库我在使用的过程中,出现连接被拒绝或者无效地址等问题。 还有基于ssh2的方式,这种方式是基于免密配置的,不需要输入密码就能连接的,但是通常情况下是需要与shell交互输入yes与密码才能连接的。 上述两个问题是我在实例过程中出现的,可能有人成功了,有人与我有一样的疑惑。疑惑怎么样才能与shell进行交互,自动输入密码进行连接。 linux 有expect脚本,能够与shell进行交互,在使用pexpect库之前,用起来

张泽的博客 1889

运维少年系列 python and cisco (3)

运维少年系列 python and cisco (3) 异常处理 什么是异常处理? 异常处理通常来说是对程序在执行时(非编译时)出现的各种报错进行处理,如果没有异常处理,那么在程序出错的时候,整个程序会立即退出,而做了异常处理之后,程序会根据异常定义的方式进行错误处理。 通俗来讲:如果没有异常处理,那程序出错的时候就GG了 系列文章常见的异常 这个系列的文章常见的异常有哪些呢? 连接失败 连接...

运维少年 670

AI开发助手介绍

AI开发助手介绍随着NLP方向发展越来越成熟,AI写代码领域出现了几个非常好的模型,今天笔者给大家推荐几个AI Coding 助手AI Coding助手是以IDEA插件或vim插件形式提供服务,在编辑器中写代码时,可以实时预测下一行要输入的代码,提升开发效率。Github Copilot首先要介绍的是Github Copilot,Copilot是个AI Coding助手,它从注释和代码中提取上下文,给出单行和整个函数的代码建议,Copilot由Open AI 的CodeX模型提供支持,它是一个由OpenAI

bobo_simpler的博客 5765

MDK5 Debug调试方法总结

MDK5 Debug调试方法总结

m0_70748084的博客 2万+

docker容器内部获取宿主机ip地址方法以及报错解决

1,在docker容器内执行以下python代码或根据需要插入到你的.py文件中: import paramiko #通过pip3 install paramiko 安装 s = paramiko.SSHClient() s.load_system_host_keys() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(hostname="A",port=22,username="B"

weixin_43220532的博客 6719

项目回顾一:《高速多端口共享缓存模块》

本帖子仅为了回顾一下一年前自己动手完成的第一个数字ic设计项目的历程,为复试做一下准备,完成的这个sramc模块花了整整四个月的时间,从0到12个模块的代码产出以及模块的验证,虽然没有拿奖,也没有进入复赛,设计过程中使用的技术手段和算法也不太成熟,但这这是一个值得记录的过程!

weixin_60261760的博客 1254

【简洁明了】xterm.js+paramiko+websocket实现Web终端,可ssh连接linux bash

项目要求,需要在web使用ssh或者控制台,就找有没有好的方法可以实现,找到了xterm.js+paramiko+websocket等实现交互,xtarm.js可以在前端展示一个终端,可以自定义,通过websocket和后端进行通信,后端可以自己写一个脚本程序,配置一个websocket的server端进行通信。 paramiko python执行终端命令 在这里我本来想的是直接在python里调用终端命令执行,但是单独使用的时候可以,集成起来就不好用了,为什么不好用后面说,先说几种常用的终端命令的执行。

RBK的博客 6841

减小伺服电机共振的方法(以松下伺服为例)

嘿 ! 我是【小黄】 , 我们又见面啦 !!! 毕竟技术只有大家交流才会进步嘛 ! 这博客是对自己学习的一点点记录和总结 ,如果您对自动控制感兴趣的话 ,可以关注一下我的动态 , 我们一起学习呀 ! 我们都还年轻 ,我们还有无限可能 。 YES ! 减小伺服电机共振的方法(以松下伺服为例)1. 准备工作:1.1.1 如何推定共振点:1.1.2 测定实操:1.1.3 总结:2. 下期预告: 在我们调试完伺服参数以后机器人运动到某个特定位置会产生振动或异响,我们要做的就是消除这个异响保..

在下小黄的博客 1万+

Polymarket链上预测市场自动化交易代理开发实战指南

自动化交易代理是量化交易的核心工具,它通过预设的算法规则,自动执行市场分析、决策与下单操作,旨在提升交易效率与纪律性。其技术原理通常涉及实时数据获取、策略引擎计算、交易执行与风险管理等模块的协同工作。在区块链与DeFi领域,这类代理的价值尤为凸显,能够高效处理链上合约交互,捕捉去中心化市场的套利机会。具体到应用场景,链上预测市场如Polymarket,为自动化策略提供了丰富的博弈标的。本文以Polymarket交易代理项目为例,深入剖析其基于Node.js与ethers.js的技术栈实现,详解从环境配置、策

weixin_42533910的博客 581

ubuntu下python paramiko实现docker容器ssh连接宿主机

背景:由于slurm的server和client的版本只兼容相差一个版本,导致宿主机跟docker容器始终存在版本兼容的问题,现在的设计是,由docker容器执行slurm的时候直接利用ssh连接宿主机,从而让两个环境slurm始终保持一致。 一、宿主机的准备工作 1.生成ssh的公钥和私钥 ssh-keygen -t rsa 一路回车下去,不用设置密码,最后生成的公钥私钥在~/...

zxc的博客 1780

Maxwell参数化建模

MAXWELL 2019 R3 参数化建模 参数化建模的优势 所谓参数化,就是在电机本体设计中涉及到的各类参数变量化,而每个变量之间又存在一定的制约关系,这样只需修改其中某个或者某些变量就可以做到对整个电机模型合理地改动。 参数化举例 以表贴式电机为例,先画电机定子,如上所示,依次进行后会弹出下面的选项框 上图就是描述电机尺寸的各类参数,接下来进行参数化。 回车ENTER,并给变量ds赋值。 赋值好后,回车ENTER 左下角properties里面就有我们新建立的变量ds了。 继续将剩余的参数

qq_41387280的博客 1万+

Python+paramiko远程连接kali服务器

1、查看kali服务器的ip地址 # ifconfig 2、使用paramiko远程连接 import paramiko #创建SSHClient实例对象 ssh = paramiko.SSHClient() #调用方法,表示没有存储远程机器的公钥,允许访问 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #ip,端口,用户名,密码 ssh.connect("5.107.80.186",22,"root","123456") #

qq_39115446的博客 1714

【nnUNetv2进阶】四、nnUNetv2 魔改网络-小试牛刀-加入注意力机制ChannelAttention

本文介绍了在nnunet中加入ChannelAttention的方法,按照本文教的教程,可以快速完成ChannelAttention的加入和自定义模型的跑通。

AI爱好者的博客,分享计算机领域相关知识 5800

《FreeRTOS 入门与实战》第20章:移植到 RISC-V 平台

处理器上下文保存/恢复机制中断处理与任务切换的协同时钟源配置(通常使用 Machine Timer)平台特定的汇编代码实现// 典型RISC-V移植文件结构FreeRTOS/├── Source/portable/[编译器]/RISC-V/│ ├── port.c // 关键移植接口│ ├── portASM.s // 汇编级处理│ └── portmacro.h // 架构宏定义。

2301_79143213的博客 448

paramiko.ssh_exception.AuthenticationException: Authentication failed

这种方式在高版本中是解析不了的。需要在2.8.0以下才行。

Neo的博客 3465

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

python paramiko invoke_shell_系统运维工程师的法宝:python paramiko

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。使用paramiko可以很好的解决以下问题:需要使用windows客户端,远程连接到Linux服务器,查看上面的日志状态,批量配置远程服务器,文件上传,文件下载等"paramiko" is a combination of the esperanto words for "parano...

weixin_39616287的博客 1161

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

自动化运维模块(一)paramiko远程连接主机

自动化运维模块(一)paramiko远程连接主机1. 什么是paramiko2. 远程连接其他主机执行操作2.1 解决连接时需要手动输入yes的情况2.2 实现远程连接 1. 什么是paramiko paramiko包含两个核心组件:SSHClient和SFTPClient。 SSHClient的作用类似于Linux的ssh命令,是对SSH会话的封装,该类封装了传输(Transport),通道(...

kaiser king的博客 789

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

有关paramiko 使用send和recv的心得和出现的疑问

最近在学习《python 自动化运维》 一书,书中提到使用paramiko的send和recv来进行远程ssh的命令输入和结果获取,我也尝试使用了下。 开始在连接connect 目标host和port后准备按照书中所说连接堡垒机 channel.send(‘ssh ’ +…………………………….) 准备输入密码 while not buff.endswith(“password: “) ...

cccccccc123的博客 1万+

python paramiko安装_python paramiko模块简介及安装

一:简介paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X,Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,parami...

weixin_39783360的博客 381

paramiko执行nohup_Python - paramiko 模块远程执行ssh 命令 nohup 不生效的问题解决

Python - paramiko 模块远程执行ssh 命令 nohup 不生效的问题解决1、使用 paramiko 模块ssh 登陆到 linux 执行nohup命令不生效# 执行命令def command(ssh_config, cmd, result_print=None, nohup=False):ssh = paramiko.SSHClient()ssh.set_missing_host...

weixin_35476604的博客 687

通过Paramiko使用SSH

最近开始学习PYTHON黑帽子这本书,准备就个人学习经历,写成博客分享给大家 首先是客户端代码,如下 与BHP原作相比,需添加代码 paramiko.util.log_to_file ('paramiko.log') 否则回报以下错误 no handlers could be found for logger paramiko.transport 附上解释htt

xy2bl的博客 1317

Python paramiko ssh 远程连接防火墙时报错-Max try count must be an positive integer

需要使用python远程连接防火墙,使用paramiko远程连接并远程执行shell指令报错:调用的代码如下:def ssh_normal(remote_ip,ssh_port,user_name,passs_word,cmd): try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(...

gravely的专栏 2942

python ssh连接_Python建立SSH连接与使用方法

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接安装过程也比较简单,先安装pycrypto后安装paramiko,解压后在命令提示符下切换到解压后的目录,输入pythonsetup.py install就可以了。另外安装pycrypto前需要先安装mingw,不然会因为缺少编译器而提示缺少一个BAT文件。安装好mingw后,需要在P...

weixin_39793813的博客 152

Python学习:基于paramiko的交互式shell

问题 我们希望在windows或者linux上,可以使用ssh连接远程服务器,并且能够执行一般的linux命令,同时还要能够有一定交互能力。比如需要切换root用户,输入管理员用户密码等。 解决方案 Python的paramiko库,可以支持。但实现也有挺多问题需要考虑。主要有以下几点内容: 命令执行,能够获取命令结果 命令执行,能够支持指定的预期结果 命令执行,要有超时能力,不能挂死。 用法1: ssh = Ssh2Client('127.0.0.1', 22) ssh.connec.

追风筝的人的专栏 2079
上一篇: 搭建CMDB系统——概述
下一篇: Leetcode——双指针
Dim_Jerry
博客等级 码龄8年 14粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值