我有一个实例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
的任何线索?
答案 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的答案自动执行。