无法 ssh 进入思科交换机:密钥长度无效

无法 ssh 进入思科交换机:密钥长度无效

由于某种原因,我无法 ssh 进入 Cisco Catalyst C3750 交换机。这是我收到的错误消息:

   ssh_dispatch_run_fatal: Connection to 192.168.7.6 port 22: Invalid key length

这是我正在使用的 SSH 配置:

   Host 192.168.7.6
   IdentitiesOnly yes
   KexAlgorithms=+diffie-hellman-group1-sha1

我的 SSH 版本是:

   OpenSSH_7.6p1, OpenSSL 1.1.0h-fips  27 Mar 2018

我已经跑了:

   crypto key generate rsa

在交换机上并生成了一个 2048 长度的密钥,但这没有帮助。我也重新加载了交换机。

谢谢

答案1

openssh 从 7.6 开始拒绝长度小于 1024 位的密钥。 https://www.openssh.com/txt/release-7.6

如果你使用ubuntu,可以安装openssh-client-ssh1,然后使用ssh1命令代替ssh。

sudo apt install openssh-client-ssh1

有时你需要使用密码为 ssh 命令指定参数 -c(例如 -c 3des-cbc)

答案2

如果您收到“密钥长度无效”错误,则问题不在于您的密码(这可能是它自己的问题,但如果您获取了密钥,则 SSH 已同意使用密码)

我在这里阅读了有关启用/禁用 SSH/Telnet 的 CISCO 文档: https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5000/sw/security/513_n1_1/b_Cisco_n5k_security_config_gd_513_n1_1/b_Cisco_n5k_security_config_gd_513_n1_1_chapter_0110.pdf

如果您仍然收到“无效密钥长度”的提示,则表示您的 Cisco 交换机/路由器仍在提供旧的(短)密钥。以下是我必须执行的操作:1) 启用 Telnet(功能 telnet)或 1) 使用控制台电缆 2) 登录(控制台或 telnet)3) 禁用 SSH(无功能 ssh)4) 重新创建 SSH 密钥(ssh key rsa 2048 force)注意:其他博客使用 crypto key modules 命令,这没有帮助 5) 启用 SSH(功能 ssh)6) Bingo... 我的 High Sierra ssh_config 文件没有任何变化,我正在工作。

希望能帮助到你...

答案3

遇到了同样的问题,这是因为密钥长度为 768 位。要验证您是否确实在使用 2048 位密钥:

ssh-keyscan <router|switch-ip> > rkey.txt
ssh-keygen -lf rkey.txt

这将告诉您实际的密钥长度。

答案4

如果ssh -c aes192-cbc IP_您的设备不起作用。尝试在 vagrant 上运行 ubuntu 12.04,如果太难,可以在 virtualbox 上运行 ubuntu。然后连接到 vbox,再连接到设备。如果您的设备支持服务器私钥再生,请使用 2048 位大小进行再生。之后尝试从主机连接。使用 dfl-860e 测试。如果您的设备不支持使用自定义参数再生私钥,您可以使用 ssh代理命令

这里是我的 ssh 配置文件示例,使用 vagrant

Host vagrant 
    HostName 127.0.0.1 
    User vagrant 
    Port 2222 
    UserKnownHostsFile /dev/null 
    StrictHostKeyChecking no 
    PasswordAuthentication no
    IdentityFile DIR_WHERE_VAGRANTFILE/.vagrant/machines/default/virtualbox/private_key
    IdentitiesOnly yes
    LogLevel FATAL

Host dlink
    port 22
    User YOUR_USER_NAME_ON_DEVICE
    Ciphers aes128-cbc
    ProxyCommand ssh vagrant nc -q0 IP_YOUR_DEVICE %p

相关内容