Netmiko 公钥失败 - Paramiko 与 Cisco 路由器 IOS

问题描述

我正在尝试使用 Netmiko 通过 Cisco 路由器使用私钥/公钥对进行身份验证。 Cisco 路由器型号为 4431

这是我写的python代码

connect

运行这个会导致控制台出错

import getpass
import csv
import netmiko
import paramiko
from argparse import ArgumentParser
import keyring
import logging

logging.basicConfig(filename='test.log',level=logging.DEBUG)
logger = logging.getLogger("netmiko")
keyfile='/Users/user/.ssh/internal/privatekey’
ssh_password = 'mysecretpassword'
ssh_session = netmiko.ConnectHandler(device_type='cisco_ios',ip='172.1.1.1,username=‘myusername’,use_keys=True,key_file='/Users/user/.ssh/internal/privatekey’,passphrase=ssh_password)
ssh_session.send_command("terminal length 0")
print(ssh_session.send_command("sh ip int br"))
ssh_session.disconnect()

在附加日志中,我发现由于身份验证(公钥)失败。协议错误:预期数据包类型 50,得到 5

    110             pubkey = Message(message.get_binary())
    111             if pubkey.get_text() != "ssh-ed25519":
--> 112                 raise SSHException("Invalid key")
    113             public_keys.append(pubkey.get_binary())
    114 

SSHException: Invalid key

我会在这里遗漏什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)