同一子网内的 AWS EC2 SSH <private_ip_address>
Posted
技术标签:
【中文标题】同一子网内的 AWS EC2 SSH <private_ip_address>【英文标题】:AWS EC2 SSH <private_ip_address> inside same subnet 【发布时间】:2017-11-17 06:16:26 【问题描述】:我有一个实例 A (public_ip_A) 和一个实例 B (public_ip_B) 都在同一个子网中,并且安全组对 ssh 开放。而且我能够
ssh -i pem_file user@public_ip_A/B
现在登录到实例 A 后,我喜欢使用私有 ip 在没有 pem 文件的情况下 ssh 到实例 B。
我查看了几个文档以将密钥添加到 ~/.ssh/authorized_key 但不清楚以获得确切的理解。关于如何使用私有 ip 实现ssh
的任何线索?
Unable to ssh EC2 instances in same subnet 没有帮助。
【问题讨论】:
SO 是针对编程问题,而不是关于使用或配置 Linux 的问题。 SuperUser.com、unix.stackexchange.com 或 ServerFault.com 将是解决此类问题的更好场所。 如果人们有兴趣为这些类型的问题创建一个场所,请按照dedicated Cloud Computing site on StackExchange 的提议并投票一些示例问题。 Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Web Applications Stack Exchange、Webmaster Stack Exchange 或Unix & Linux Stack Exchange 会是一个更好的提问地点。 好的。谢谢你告诉我 【参考方案1】:它与私有 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。
【讨论】:
【参考方案2】:如果您在同一个 VPC 中有两个实例并且您希望在它们之间进行 SSH,您应该通过它们的私有 IP 地址进行连接。这意味着流量完全保留在 VPC 和实例中,它可以在公共子网和私有子网之间运行(而公共 IP 地址仅适用于公共子网中的实例)。
通过他们的公共 IP 地址意味着流量离开 VPC,但随后又被路由回。此类流量需要 1c/GB 费用。定价页面将此称为连接“使用公共或弹性 IPv4 地址”的 Amazon EC2 实例。
关于安全性,~/.ssh/authorized_keys
定义了允许哪些密钥登录用户(其主目录具有该文件)。连接时您仍然需要提供密钥,但这可以根据@helloV 的回答自动完成。
【讨论】:
以上是关于同一子网内的 AWS EC2 SSH <private_ip_address>的主要内容,如果未能解决你的问题,请参考以下文章
通过 Ubuntu 堡垒到私有子网中的 EC2 实例的 SSH 隧道