有一个 Ubuntu 18.x 控制工作站,能够通过 ssh 连接到 Cisco 网络设备。该工作站昨晚升级到 20.04。客户端上的一切似乎都很好,但无法通过 ssh 连接到设备。
构建新的 Ubuntu 20.04 VM,结果相同。
Ubuntu 控制站:
ssh [email protected]
Unable to negotiate with 10.1.251.231 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
路由器响应:
Oct 4 06:07:10.126: %SSH-3-NO_MATCH: No matching kex algorithm found: client curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c server diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
我偶然发现了一些其他文档,我按照其中的说明操作但没有成功,并且情况相同。
默认情况下,首次安装 Ubuntu 时不允许通过 SSH 进行远程访问。在 Ubuntu 上启用 SSH 相当简单。
sudo apt update
sudo apt install openssh-server
您可以通过输入以下命令来验证 SSH 是否正在运行:sudo systemctl status ssh
sudo systemctl 状态 ssh
输出:
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
Ubuntu 附带一个名为 UFW 的防火墙配置工具。如果您的系统上启用了防火墙,请确保打开 SSH 端口:
sudo ufw allow ssh
正在寻找 ssh 到 Cisco IOS 的解决方案。
提前致谢。
答案1
Ubuntu 20.04 弃用了一些不安全的算法。要重新启用它们,您可以创建一个/etc/ssh/ssh_config.d/
包含所需选项的 conf 文件。
例如(根据您的路由器的响应):
echo "KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1" >>/etc/ssh/ssh_config.d/weak.conf
答案2
在 ubuntu 中添加了这两行,它就起作用了!
修改 /etc/ssh/ssh_config 文件
KexAlgorithms diffie-hellman-group-exchange-sha1、diffie-hellman-group14-sha1、diffie-hellman-group1-sha1
密码 aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
答案3
修改 /etc/ssh/ssh_config 文件
KexAlgorithms diffie-hellman-group-exchange-sha1、diffie-hellman-group14-sha1、diffie-hellman-group1-sha1