我如何find目前的连接当前的SSH协议版本?

我连接到Linux机器(centos 6.4)使用腻子。 除了事实上我可以设置腻子只使用一种types的协议,我怎么能find当前的SSH连接版本(SSH1或SSH2)?

一旦你在你身边说:

ssh -v localhost 

它会告诉你服务器的确切版本。

Putty在Session,Logging中select“SSH数据包和原始数据”单选button。 在您select的位置select日志文件作为putty.log。 build立连接。 你应该看到:

 Event Log: Server version: SSH-2.0-OpenSSH_5.3 Event Log: Using SSH protocol version 2 

有关SSH-2.0的含义,请参阅下文。

其他方法您也可以尝试使用telnet客户端,但指向端口22:

 telnet test1 22 

当你连接你会看到:

尝试192.168.144.145 …连接到test1。 转义字符是'^]'。 SSH-2.0-OpenSSH_5.3

最后一行是要查找的行:

 SSH-2.0-OpenSSH_5.3 

如果它说的是SSH-2.0那么这很好,你连接的ssh服务器只支持SSH协议版本2.它不支持来自SSH V1协议客户端的连接。

如果你看到:

SSH-1.99-OpenSSH_5.3

那意味着服务器端仍然支持SSL协议版本1.在sshd_config文件中有这样的东西:

 Protocol 1,2 

第一议定书是脆弱的,不应使用。

所以要弄清楚。 如果在telnet到远程服务器的22端口时看到SSH-2,则只能使用ssh协议版本2,因为服务器不支持协议1。

根据上面的cstamas答案,-v标志将显示一行:

 debug1: Remote protocol version 1.99, remote software version OpenSSH_5.3 

要么:

 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3 

你想看到version 2.0

我知道这是一个古老的问题,但自从我遇到了,我可以拒绝张贴另一种方式。

由于cstamasbuild议您可以使用ssh -v localhost ,只需在详细模式下将ssh添加到自己的127.0.0.1中,这将显示进度的debugging消息。 是的,通过这个过程,你可以看到通信的顶部,你可以得到你正在运行的SSH版本。

但是如果你阅读了ssh man页,你会发现ssh上的-V选项更有用。 取出ssh手册页 :

 -V' Display the version number and exit. -v' Verbose mode. Causes ssh to print debugging messages about its progress. This is helpful in debugging connection, authentication, and configuration problems. Multiple -v options increase the verbosity. The maximum is 3. 

所以我认为简单地做一下ssh -V并且得到类似的东西会更好一些:

 ssh -V OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013 

希望这可以帮助。