python 使用paramiko模块ssh远程出现认证报错解决方法

本文解决了一个在使用paramiko模块进行批量配置交换机时遇到的SSH认证失败问题。问题发生在从中毒后的CentOS 7恢复快照后,由于SSH信任密钥变更导致的认证失败。通过在ssh.client.connect()方法中添加allow_agent=False和look_for_keys=False参数,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直通过paramiko模块来处理交换机的批量配置,最近换了台客户端[Linux]来连接可以无论如何 都认证不过去总是报错。

[root@zabbix609 backupsw]# python ssh_switch2960.py
Username:admin
Password:
Traceback (most recent call last):
  File "ssh_switch2960.py", line 18, in <module>
    ssh_client.connect(hostname=ip,username=username,password=password)
  File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 446, in connect
    passphrase,
  File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 764, in _auth
    raise saved_exception
paramiko.ssh_exception.AuthenticationException: Authentication failed.

一直报错认证通不过,后来发现是因为近期centos7中了毒后来处理恢复快照到之前时间,可是这个ssh信任密钥认证变更了;

解决方法:

在这个ssh.client.connect(....)后面加入   allow_agent=False,look_for_keys=False

ssh_client.connect(hostname=ip,username=username,password=password,allow_agent=False,look_for_keys=False)

然后再重试就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值