You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nornir Netmiko连接AWS EC2 Cisco IOS-XE路由器SSH密钥认证失败如何解决?

问题原因及解决方法
  • 核心配置错误:你使用nornir_netmiko插件执行任务,但是配置的是paramiko连接的参数,两套连接插件独立不共享配置,因此你加的密钥认证参数完全没有生效。
  • 额外潜在问题:报错日志中显示的目标设备IP是3.121.222.37,和你资产清单中配置的18.158.60.42不一致,需先确认资产清单的IP配置是否正确。
正确配置方案

替换原有资产清单的配置,将密钥认证参数配置到netmiko连接的配置项中即可:

---
Europe-Cisco-Site1:
  hostname: "18.158.60.42"
  username: "ec2-user"
  platform: "cisco_xe"
  groups:
    - cisco
  connection_options:
    netmiko:
      port: 22
      extras:
        use_keys: True
        key_file: "/home/coder/.ssh/id_rsa"
        # 如果你的私钥设置了密码,补充下面的参数
        # passphrase: "你的私钥密码"

注意删除原有配置中的空password字段,避免Netmiko优先尝试密码认证,延长认证时间或者直接认证失败。

可选优化及排查项
  • 如果你有多台同类型设备,可以把上面的connection_options配置写到cisco组的配置中,不需要逐台重复配置。
  • 确认你的私钥文件/home/coder/.ssh/id_rsa权限为600,且属主为运行脚本的用户,权限过高会导致SSH拒绝读取私钥。
  • 如果仍有问题,可以在netmiko的extras中添加session_log: "netmiko.log"开启调试日志,查看更详细的认证失败原因。

内容的提问来源于stack exchange,提问作者Shepardos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:39:01