首先,我首先要說的是,我知道 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 上測試)。
但這是不可取的,因為該協議已經過時且已損壞。不要將其用於任何生產內容!