如何连接到没有通用密码的 SSH 服务器?

如何连接到没有通用密码的 SSH 服务器?

我正在使用 ssh -V 运行 Kali Linux OpenSSH_7.7p1 Debian-3, OpenSSL 1.0.2o 27 Mar 2018。我尝试通过 SSH 连接到服务器(黑客挑战)并得到响应Unable to negotiate with ********* port 22: no matching cipher found. Their offer: 3des-cbc,blowfish-cbc,cast128-cbc,idea-cbc

我尝试编辑/etc/ssh/ssh_config文件以将这四个文件之一添加到我的密码列表中,但我收到了消息/etc/ssh/ssh_config line 38: Bad SSH2 cipher spec 'aes128-cbc,blowfish-cbc'

我也尝试过用 -c 指定密码,例如ssh ********* -c blowfish-cbc,但后来我得到了Unknown cipher type 'blowfish-cbc'


有趣的是,当我尝试使用 3des-cbc 的 -c 时,我实际上得到了不同的响应:

 ssh ********* -c 3des-cbc

 Received disconnect from ********* port 22:2: Handshake failed
 Disconnected from ********* port 22

我认为我的最新版本的 SSH 不允许使用这些密码是否正确?我该如何解决这个问题?


更新:我被要求澄清为什么这不是重复的这个问题。给出的解决方案是更新服务器的配置,这显然不是我在这里可用的选项。另外,在那里,-c 选项起作用了,唯一的问题是为什么它是必要的,而在这里它似乎不是。

然而,我确实从那里学到了这个ssh -Q cipher命令,它实际上响应了我的 ssh 客户端支持 3des-cbc,尽管不支持其他 3 个。这可能意味着事实上-c 3des-cbc 正确的方法,我只需要进一步调试它以找出握手失败的原因。所以也许它确实包含了我的答案,尽管非常间接。

答案1

检查 .json 文件中的 ssh_username。我相当确定这是要走的路。知道握手失败的一个密码告诉我它在握手本身中,并且全部在 .json 文件中。其他人甚至没有尝试谈判。祝你好运。

相关内容