首先,我要说的是,我知道 SSH1 完全不如 SSH2。现在,话虽如此...
我正在尝试启用 SSH1,但无法启用。其中/etc/ssh/sshd_config
有这样一行:
Protocol 2
我将其改为:
Protocol 2,1
然后我继续执行sudo service ssh restart
,然后telnet 127.0.0.1 22
我得到的结果是SSH-2.0-OpenSSH_6.7p1 Ubuntu-5ubuntu1
。如果启用了 SSH1,我应该得到的结果是以 开头,SSH-1.99
但事实并非如此。
现在假设我将该Protocol
行改为这样:
Protocol 1
然后我这样做了sudo service ssh restart
,现在我得到了这个telnet 127.0.0.1 22
:
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
也许较新版本的 OpenSSH 会完全禁用 SSH1 支持?我尝试的版本是 14.04。我尝试的其他版本:
- Ubuntu 12.04/OpenSSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1
- Ubuntu 10.04/OpenSSH-2.0-OpenSSH-5.3p1 Debian-3ubuntu7.1
它们的行为都类似。
答案1
rsa1
如果您想使用 SSH1 运行服务器,则需要生成主机密钥:
ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key
并在中指定键sshd_config
:
HostKey /etc/ssh/ssh_host_key
稍后您需要指定此古老协议支持的一些身份验证方法,否则您将最终得到这样的结果:
$ ssh -1 localhost
Permission denied.
但它仍然(不幸)以某种方式在 Ubuntu 上运行(在 15.10 上测试)。
但不建议这么做,因为该协议已经过时且有问题。不要将其用于任何生产用途!