我正在开展一个测试项目,该项目通过 EC2 实例(控制器)SSH 连接到其他 EC2 实例(节点)。
我希望 SSH 能够[email protected]
从控制器实例登录到节点,这样就不需要在节点实例上配置额外的用户帐户。
我的最终目标是使用密钥,以便控制器可以通过 SSH 连接到节点。
您建议我如何解决这个问题?
答案1
我认为您可以使用公钥和私钥来使其工作。
我可能是错的,但不管你的实例上存在什么帐户,在我看来这都是有效的:
在控制器上创建密钥对:
ssh-keygen -t rsa -f controller.rsa
将公钥从控制器复制到节点:
ssh-copy-id -i controller.rsa.pub [email protected]
在控制器上设置配置文件:
vim ~/.ssh/config
~/.ssh/.config
文件内容:
Host node-a.example.com
User node-a-account
IdentityFile ~/.ssh/controller.rsa
Host node-b.example.com
User node-b-account
IdentityFile ~/.ssh/controller.rsa
Host node-c.example.com
User node-c-account
IdentityFile ~/.ssh/controller.rsa
现在你的控制器可以ssh
进入任何节点,如下所示:
ssh node-x