在 Ubuntu 15.10 及之前版本中,我的 .ssh/config 文件中有一个带有“协议 1”的主机条目。
Ubuntu 16.04 默认不再支持 SSH1。
corben@ubuntu1604:~$ ssh -1 host
ssh1 is not supported
当使用 ssh 客户端时,如果 .ssh/config 中的任何主机条目包含“协议 1”行,它就会抱怨:
corben@ubuntu1604:~$ ssh host
.ssh/config line <nr>: Bad protocol spec '1'.
要使用 ssh1 连接到我的主机,我可以安装 openssh-client-ssh1 包并调用 ssh1 而不是 ssh 。但是,当省略“协议 1”行时,ssh1 客户端不使用在 .ssh/config 中配置的主机条目。ssh1 没有手册页,并且“man ssh”仍然列出了协议版本 1 的 -1 选项。我想使用主机条目,因为我配置了端口转发和 ssh 密钥,我不想每次都在命令行上输入它们。
如何在共存和.ssh/config 中使用 ssh 和 ssh1?
主机是仍在使用的嵌入式设备,不会发布任何固件更新。由于它是在 LAN 环境中使用的,因此使用 ssh 版本 1 的安全性不是问题。
答案1
SSH1 协议已经一去不复返了,是时候接受这个事实了。它将很快从手册页和文档中删除,这样用户就不会感到困惑了。你到底想做什么还不太清楚。
ssh1
~/.ssh/config
如果 Ubuntu 维护者没有破坏任何东西,应该仍然会阅读。你ssh1 -vvv host1
能从你的连接到 ssh1 主机发布详细日志 () 吗?使用会ssh1 -1 host1
改变什么吗?
答案2
也可以从客户端修复此问题,方法是安装 sshv1 客户端(可在 ubuntu 中使用)。不建议在连接的实时网络上使用,但我在测试网络上这样做了,因为我的“服务器”是一台非常老旧的设备。软件包是 openssh-client-ssh1。