如何known_hosts安全地将主机密钥添加到 SSH文件?
我正在设置一台开发机器,我想(例如)防止git在我github.com使用 SSH克隆存储库时进行提示。
我知道我可以使用StrictHostKeyChecking=no(例如这个答案),但这并不安全。
到目前为止,我发现...
GitHub 在https://help.github.com/articles/github-s-ssh-key-fingerprints/上发布了他们的 SSH 密钥指纹
我可以ssh-keyscan用来获取github.com.
我如何结合这些事实?给定一个预先填充的指纹列表,我如何验证可以将 的输出ssh-keyscan添加到known_hosts文件中?
我想我在问以下问题:
如何获取由 返回的密钥的指纹ssh-keyscan?
假设我已经通过了 SSH 的MITM认证,但是我可以信任 GitHub HTTPS 页面(因为它有一个有效的证书链)。
这意味着我有一些(可疑的)SSH 主机密钥(来自ssh-keyscan)和一些(受信任的)密钥指纹。我如何验证一个与另一个?
相关:如何散列输出的主机部分ssh-keyscan?或者我可以混合散列/未散列的主机known_hosts吗?
使用ssh命令行 (OpenSSH),我可以指定服务器的主机密钥指纹吗?
这可以通过 winscp.com 使用(例如) -hostkey="ssh-rsa 2048 AA:BB:CC...etc
我已经阅读了几次手册页,如果我错过了那里的明显内容,我深表歉意。
我不想只是自动接受主机密钥,也不想要求用户更新他们的known_hosts,而是在命令行上以某种形式指定主机密钥。