我想从命令行将 github.com 添加到 known_hosts 文件,因为我正在创建一个 puppet 清单来配置远程服务器。
我试过了:
"ssh-keyscan -H github.com > /home/ubuntu/.ssh/known_hosts"
Run Code Online (Sandbox Code Playgroud)
但是当服务器尝试访问github时:
Failed to add the RSA host key for IP address '207.97.227.239' to the list
of known hosts (/home/ubuntu/.ssh/known_hosts).
Run Code Online (Sandbox Code Playgroud)
我也试过:
"ssh-keyscan -H github.com,207.97.227.239 > /home/ubuntu/.ssh/known_hosts"`
Run Code Online (Sandbox Code Playgroud)
但是访问github抛出:
Host key verification failed.
Run Code Online (Sandbox Code Playgroud)
我确定这没有其他用途,但是如果我 ssh 我的服务器,然后 ssh github 并按照步骤操作,我会收到以下消息Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts,然后它将完美运行。
谢谢
我们通过将 known_hosts 文件放在 puppet 服务器上并直接从 puppet 中提供文件来处理这个问题:
file{
"/home/appuser/.ssh/known_hosts":
owner => "appuser",
group => "appuser",
mode => 755,
source => "puppet:///modules/ssh/known_hosts",
require => File["/home/appuser"];
}
Run Code Online (Sandbox Code Playgroud)
这会从 puppet 存储库中复制格式正确的 known_hosts 文件,相应地设置用户,并确保其具有正确的权限。对我们来说效果很好。