如何SSH到没有公共DNS地址的AWS EC2实例

时间:2017-04-30 04:18:51

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

我是AWS新手,我刚刚创建了一个在我从头开始创建的VPC中运行的EC2实例。我正在使用控制台来做这一切。我的问题是,如何访问我刚刚通过ssh创建的EC2实例?

查看实例的详细信息,我注意到它没有公共DNS地址,但它确实有公共IP和私有IP和DNS地址:

Public DNS (IPv4) -
IPv4 Public IP 52.xx.xxx.xx
Private DNS ip-192-168-0-xxx.us-west-1.compute.internal
Private IPs 192.168.0.xxx

请注意,公共DNS为空。我怎么能进入这个盒子?通常我认为你需要公共DNS地址。

2 个答案:

答案 0 :(得分:2)

您不需要SSH的公共DNS 如果实例位于公有子网中,则可以使用IP执行此操作

如果实例位于私有子网中,则需要位于公有子网中的堡垒主机。您可以使用该堡垒主机登录到私有子网中的实例

答案 1 :(得分:2)

您可以通过公共IP地址或其公共DNS 来SSH实例。这是因为公共DNS将解析为公共IP地址,所以它是一样的。

没有显示DNS名称的原因是您创建了一个新的Amazon VPC,并且有一个名为 DNS主机名的VPC设置。

Edit DNS Hostnames

如果此选项设置为Yes,则DNS名称将自动分配给VPC中的Amazon EC2实例,例如:ec2-154-253-52-151.us-west-2.compute.amazonaws.com

能够SSH进入实例的其他要求是:

  • Linux实例(Windows默认情况下没有ssh服务器)
  • 位于公共子网(定义为具有到Internet网关的路由表条目的子网)
  • 安全组允许端口22上的传入IP地址连接
  • 流量未被网络访问控制列表阻止(默认情况下完全打开)