你能telnet到ssh吗?

10

我知道你可以使用HTTP协议标准通过Telnet与HTTP服务器进行交互 - 例如:

telnet google.com 80
Trying 173.194.70.139...
Connected to google.com.
Escape character is '^]'.
GET / HTTP.1.1
HOST: my.com

然后我得到的回复是:

HTTP/1.0 400 Bad Request
Content-Type: text/html; charset=UTF-8
Content-Length: 925
Date: Wed, 18 Jul 2012 19:17:26 GMT
Server: GFE/2.0

但我的问题是,我是否可以使用SSH协议做同样的事情?


你想做这个的原因是什么? - Turbot
1
为了成功地模糊测试SSH端口监听器,我需要知道服务器等待的基本标准头。 - Ba7a7chy
找到了答案:"SSH-2.0-billsSSH_3.6.3q3<CR><LF>" - Ba7a7chy
2个回答

14

尝试使用telnet在22端口上连接SSH服务器。您会收到第一条消息,但没有其他有用的信息。只是一个"协议不匹配"的提示并且连接关闭。

telnet客户端之所以作为工具有用,是因为它使用了纯文本协议。您可以连接使用不同纯文本协议的任何端口,并像HTTP一样在头脑中解码它们。由于SSH加密了所有内容,因此使用telnet连接到SSH服务器将很难用肉眼读取。

telnet yoursshserver 22
Trying 50.112.5.74...
Connected to yoursshserver.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1
something I typed
Protocol mismatch.
Connection closed by foreign host.

那么,没有插入SSH协议等待的标头选项吗? - Ba7a7chy
2
您需要手动编码加密协议内容。我真的不确定您为什么要这样做-所有数据位都必须加密发送,并在返回时解密。您只是无法安装SSH客户端吗?我建议使用http://www.chiark.greenend.org.uk/~sgtatham/putty/而不是尝试自己做这件事。Putty还支持telnet... - dwerner
为了成功地模糊测试SSH端口监听器,我需要知道服务器等待的基本标准头。 - Ba7a7chy
1
如果您正在以编程方式进行此操作,则需要考虑以下问题:您使用的是哪种语言平台,是否有任何库可以帮助您。否则,请查看openSSH项目提供的ssh客户端代码。 - dwerner
1
找到答案:"SSH-2.0-billsSSH_3.6.3q3<CR><LF>"。 - Ba7a7chy

10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接