【发布时间】:2018-09-15 03:44:05
【问题描述】:
我想通过 ssh 访问我的 github 存储库。当我第一次访问存储库时,系统会询问我是否要将 github ssh 服务器添加到我的 known_hosts 文件中,这可以正常工作。该请求还向我显示了该服务器的 RSA 密钥指纹,我可以手动验证它是否与 github here 提供的相同。
这些是 OpenSSH 6.8 及更高版本(base64 格式)中显示的 SHA256 哈希:
SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 (RSA)
SHA256:br9IjFspm1vxR3iA35FWE+4VTyz1hYVLIE2t1/CeyWQ (DSA)
问题是我想通过添加公钥来阻止该请求
在我第一次访问我的 git 存储库之前到我的 known_hosts 文件。这可以通过使用ssh-keyscan -t rsa www.github.com 命令来完成,该命令将为我提供known_hosts 文件所需格式的公钥。但是人们反复提到,这不安全,容易受到中间人攻击。他们没有提到的是如何正确地做。
那么如何使用github页面上提供的RSA指纹安全获取ssh服务器的主机公钥呢?我或多或少在寻找ssh-keyscan 命令的选项,该选项可让我添加预期的 rsa 指纹,并在主机指纹与给定指纹不匹配时导致命令失败。
感谢您的宝贵时间!
【问题讨论】: