ubuntu - 自动 SSH 访问 ec2

标签 ubuntu ssh amazon-ec2 ssh-keys

我需要在主/从配置中自动无密码访问 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/

相关文章:

ubuntu - Eclipse Indigo 市场

linux - 在linux中添加一两个目录到PATH变量(使用Bash脚本)

shell - SSH : Remotely run a script and stay there

windows - 在 HTTP 代理下工作时 Windows 上的 SSH 配置

amazon-web-services - aws-cli - 使用 --query 和 --filter 过滤输出

ruby-on-rails - SQLite (3.7.17) 版本太旧。 Active Record 支持 SQLite >= 3.8

r - AWS EC2 上使用 h2o 进行多节点集群安装

python - 添加 Python 脚本,以便可以在另一个 Python 脚本中导入

mysql - 如何在使用 Workbench 时添加 mysqldump 配置标志?

ubuntu - 如何修复 apt-get : command not found on AWS EC2?