AWS EC2 SSH <private_ip_address>位于同一子网内

时间:2017-06-14 22:47:07

标签: linux amazon-web-services ssh amazon-ec2 ssh-keys

我有一个实例A(public_ip_A)和一个实例B(public_ip_B)都在同一个子网中,安全组对ssh开放。我能够

ssh -i pem_file user@public_ip_A/B

现在登录到实例A后,我喜欢使用私有ip ssh到实例B而不使用pem文件。

我已经查看了几个文档来添加〜/ .ssh / authorized_key的密钥,但是不清楚是否得到了确切的理解。关于如何使用私有ip实现ssh的任何线索?

Unable to ssh EC2 instances in same subnet  没用。

2 个答案:

答案 0 :(得分:4)

它与私有IP或子网无关。你需要的是ssh-agent。 ssh-agent是一个用于保存用于公钥认证的私钥的程序。

运行ssh-agent后,使用ssh-add

添加私钥

将相应的公钥放在~/.ssh/authorized_keys的两台计算机上,然后您可以ssh而不提供私钥。

如果您需要分步说明,请关注Using an ssh-agent, or how to type your ssh password once, safely

答案 1 :(得分:2)

如果您在同一个VPC中有两个实例并且希望在那之间进行SSH,则应通过其专用IP地址进行连接。这意味着流量完全保留在VPC内,并且实例可以在公共子网和私有子网之间工作(而公共IP地址仅适用于公有子网中的实例)。

通过他们的公共IP地址意味着流量退出VPC,然后被路由回来。此类流量有 1c / GB费用。定价页面将此称为连接“使用公共或弹性IPv4地址”的Amazon EC2实例。

关于安全性,~/.ssh/authorized_keys定义允许哪些密钥登录用户(其主目录具有该文件)。您仍然需要在连接时提供密钥,但这可以根据@ helloV的答案自动执行。