我有一个与rsync / ssh与外部主机交互的脚本。
SSH提示我确认主机的真实性,如下所示:
The authenticity of host 'xxxxxxxxxxxxxxxxxx' can't be established.
RSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)?
由于每个EC2实例都是新主机,我每次都必须确认这一点,但我想要一个没有任何用户输入的自动脚本。什么是最好的解决方案?
我知道我可以添加-O StrictHostKeyChecking = no,但这会使外部主机不安全。
编辑! :是否可以使用我的PEM文件在其他服务器中进行身份验证?我的意思是,mayb在外部服务器上安装一些东西并以与实例和PEM文件相同的方式连接
谢谢
答案 0 :(得分:0)
您可以尝试使用expect:
Expect是一个Unix自动化和 测试工具,由Don Libes编写 Tcl脚本的扩展 语言,用于交互式应用 如telnet,ftp,passwd,fsck, rlogin,tip,ssh等。它用 Unix伪终端包裹起来 子过程透明,允许 任意的自动化 通过a访问的应用程序 终端
虽然在非首次连接到同一IP的情况下可能会遇到一些挑战,但是ssh不会问。
答案 1 :(得分:-1)
我认为这篇文章verify-ssh-keys-on-ec2-instances可能包含您需要的信息,或者至少是编写脚本的起点。