我有两台机器在防火墙后面,ssh 端口转发到 2201 和 2202。
当我
ssh host -p 2201
Run Code Online (Sandbox Code Playgroud)
它询问我是否信任这台机器,我说是,它被添加到 ~/.ssh/known_hosts
然后我
ssh host -p 2202
Run Code Online (Sandbox Code Playgroud)
它不让我,因为这个 IP 中已经有一个条目~/.ssh/known_host:1(当我开始时文件是空的,所以第 1 行是之前 ssh 运行添加的那个)。
这发生在 CentOS 5.4 上。
在其他发行版上(我尝试过 Arch),ssh 似乎也将 known_hosts 与端口匹配,因此我可以在同一主机/ip 上为多个端口设置多个指纹而不会出现任何问题。
我怎样才能为 CentOS 获得同样的行为?
我找不到任何东西man ssh_config(或者至少在没有禁用指纹检查的情况下)。
我找到了一个临时解决方案。如果该known_hosts文件具有多个相同 IP 的条目,它会在得出错误结论之前检查所有条目。但我真的很讨厌这是解决方案。
~/.ssh/config:
主机 foohost-2201
主机名 foohost.domain.tld
# 这应该符合 OpenSSH 5 中使用的格式。
HostkeyAlias "[foohost.domain.tld]:2201"
用户名
2201端口
说真的,升级。
| 归档时间: |
|
| 查看次数: |
17979 次 |
| 最近记录: |