![问题:](https://linux22.com/image/149526/%E9%97%AE%E9%A2%98%EF%BC%9A.png)
路由器配置有 DD-WRT 并具有远程 SSH 访问功能。树莓派计算机(Raspbian)连接到路由器的 LAN。通过 SSH 登录到路由器后,尝试从路由器通过 SSH 访问 pi 将返回:
ssh [email protected]
ssh:连接到[电子邮件受保护]:22 退出:没有匹配的算法 kex
从 DD-WRT 网关对其他 LAN 连接的 DD-WRT 路由器进行 shell 攻击成功。
问题:
- 出现错误消息的原因是什么?可以采取哪些措施来启用 SSH 访问?
- 究竟
no matching algo kex
意味着什么?
更新
ssh [email protected] -oKexAlgorithms=+diffie-hellman-group1-sha1
警告:忽略未知参数 '-oKexAlgorithms=+diffie-hellman-group1-sha1' ssh:连接到 [电子邮件受保护]:22 退出:没有匹配的算法 kex
user@raspberrypi:~ $ ssh -V
OpenSSH_6.7p1 Raspbian-5+deb8u2、OpenSSL 1.0.1t 2016 年 5 月 3 日
DD-WRT 正在运行 dropbear v0.52:
user@DD-WRT:~ $ ssh -V
警告:忽略未知参数 '-v' Dropbear 客户端 v0.52 用法:ssh [选项] [用户@]主机[/端口][,[用户@]主机/端口],...] [命令] 选项有:
-p -l -t 分配 pty -T 不分配 pty -N 不运行远程命令 -f 身份验证后在后台运行 -y 如果未知,则始终接受远程主机密钥 -s 请求子系统(用于sftp) -i (允许多个) -L 本地端口转发 -g 允许远程主机连接到转发端口 -R 远程端口转发 -W (默认 24576,越大可能更快,最大 1MB) -K (0 表示从不,默认0) -I (0 表示从不,默认 0) -B 类似 Netcat 的转发 -J 使用程序管道而不是 TCP 连接
答案1
你的 Raspberry Pi 的 ssh 软件有点旧,但在这种情况下,这实际上使得这个问题不太可能发生。
您的 DD-WRT 软件是 2008 年的,这在 IT 安全方面已经很古老了。 dropbear 甚至不再使用这种版本号样式(当前显然是 2018.76)。由于许多其他原因,这确实应该更新,但也包括这个。
我个人建议您对这两种产品应用可用更新,但我会先对路由器进行更新。
答案2
尝试检查 SSH 客户端和服务器密码。可能您的(最新)客户端禁用了一些过时的密码,并且客户端和服务器密码列表不匹配。