我需要在主/从配置中自动无密码访问 ec2 实例。
所以它有效,但我怀疑我遇到了障碍。
以下是允许 ec2 主设备通过 ssh 连接到 ec2 从设备的步骤。
在主人我做以下事情:
cd /home/ubuntu/.ssh
ssh-keygen -f id_rsa -t rsa -N ''
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
在从站上,我将上面生成的 id_rsa.pub 文件添加到:
/home/ubuntu/.ssh/authorized_keys
所以...问题是,当我 ssh 进入机器时,它会要求以下内容:
RSA key fingerprint is b4:50:7e:5c:5f:41:f5:cd:95:91:78:5b:8a:1f:97:df.
Are you sure you want to continue connecting (yes/no)?
我正在尝试运行的程序;tsung,即使现在不需要密码,似乎也无法在提示下工作。所以,程序失败了。如果我 ssh 进入从属服务器,从而添加 key ,那么现在不再询问是/否,一切正常。所以..问题是,如何自动删除提示?我可以编写一个脚本来自动化,例如pexpect,但这似乎很啰嗦。
最佳答案
您可以使用 ssh-keyscan
(通常是 OpenSSH 发行版的一部分)获取服务器的主机 key 并将其存储在 known_hosts
中文件。一旦 key 在该文件中,就不会出现进一步的提示。有关详细信息,请参阅 ssh-keyscan 联机帮助页。
当然,SSH 要求您验证服务器的身份是有原因的,因此这样做会使您面临某些安全风险。根据您创建实例的方式,您可以通过 (a) 每次在服务器上使用相同的主机 key 和 (b) 将其包含在您的客户端镜像(或您所做的任何事情)中来解决此问题。
关于ubuntu - 自动 SSH 访问 ec2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10788109/