我遇到了一个 SSH 问题,我已经研究了将近一周,但已经到了我真的不知道该怎么办的地步。我正在参加一个网络安全挑战,以“理解”一个特殊的文件服务器,我只有 Wireshark cpap 文件。
经过仔细分析,找到了“特殊”文件服务器工作的“协议”,我尝试与它通信,但没有成功。服务器与我“对话”的方式是发送“欢迎!”然后我应该回复HELLO。
该服务器正在使用 ssh,因此我尝试通过 ssh 进行连接,但在我有机会插入输入之前,我得到了此输出
ssh -v server -p port
OpenSSH_7.7p1 Debian-2, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to server & port
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_xmss type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.7p1 Debian-2
debug1: ssh_exchange_identification: 0 8 Welcome!
debug1: ssh_exchange_identification: 0 18 Error: wrong input
因此,我研究了 ssh 协议以了解它如何处理密钥,因此我尝试将我的私钥更改为单词 HELLO,这是服务器所希望的,但遗憾的是它不起作用。
当然,搜索 ssh_exchange_identification 错误会给我很多真正遇到此问题的人的结果,而不是像我一样服务器将其用作错误通知机制的人。
答案1
经过仔细分析并找到“特殊”文件服务器工作的“协议”,我尝试与它通信,但没有成功。服务器与我“对话”的方式是发送“欢迎!”然后我应该回复HELLO。
这不是 SSH。您不能使用 SSH 客户端来执行此部分,因为它看起来与 SSH 连接握手完全不同。ssh_exchange_identification 错误不是由服务器发送的;它是您的客户端在无法识别服务器协议后生成的。
如果你的服务器以某种方式构建,HELLO
使其可以开始使用 SSH在同一端口上,您可以通过编写一个简短的脚本并将其用作 SSH ProxyCommand 来执行该部分。
否则,请确保您通过 SSH 连接到正确的端口。(您如何确定服务器“可以使用 SSH”?)