我正在创build一个bash脚本来configuration一个新的服务器,我可以部署一个web应用程序。 我必须做的一件事就是将GitHub作为使用ssh [email protected]的已知主机。 我怎样才能在一个bash脚本中自动化这个过程,并以幂等的方式来实现呢?
简单的方法就是做这样的事情。
ssh-keyscan remote_server >>~/.ssh/known_hosts
如果这个盒子是全新的,你可能还需要在运行ssh-keyscan之前创build~/.ssh目录。
请记住,ssh-keyscan可以占用任意数量的主机名。 它会得到所有的钥匙。
你是否试图自动接受新密钥? 如果是这样,你可以使用-oStrictHostKeyChecking = no。
这样做是一个非常糟糕的主意,因为现在你已经完全接受了中间人攻击。
一个更好的select只是pipe理一个known_hosts文件,并在configuration新服务器时重用该文件。 把它贴在github上,写一个简单的脚本,在sshing到github之前下载这个文件。
严格的主机密钥检查是一件好事。
我不确定我是否理解这个问题,但是我认为您希望忽略known_host提示或者完全避免它,在这种情况下:
ssh -o StrictHostKeyChecking = no
或其他build议: http : //www.joedog.org/2012/07/ssh-disable-known_hosts-prompt/