【问题标题】:EC2 box ssh using new hostname使用新主机名的 EC2 框 ssh
【发布时间】:2020-10-16 04:29:18
【问题描述】:

我有一个 ec2 机器,它是一个 ubuntu 18.04 操作系统。我可以从另一个 EC2 框中使用“ssh -i {pemfile} ubuntu@{ip address}”也可以使用“ssh -i {pemfile} ubuntu@{ip-ipaddress.us-east-2.compute.internal}”。现在我想更改主机名并在 ssh 中使用它。我关注了一些 linux 和 AWS 文章 AWS Article 并更改了 /etc/hostname 和 /etc/hosts 文件。不能按要求使用路由 53 DNS 条目。

/etc/hosts = 10.0.1.190 dev-host.example.trade
/etc/hostname = dev-host.example.trade

出现以下错误“ssh -i {pemfile} ubuntu@dev-host.example.trade” ssh:无法解析主机名 dev-host.example.trade:名称或服务未知。

【问题讨论】:

  • 您是否尝试从您进行这些更改的服务器上进行 SSH 连接?
  • @ChrisWilliams 不是来自另一台服务器

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


【解决方案1】:

由于您在服务器上进行了更改,因此这些更改只能在该主机上解析(否则任何人都可以使用任何域)。

如果您想使用自定义域名,您可以选择几个选项。

显而易见的是,您可以使用您控制的域,这将允许它跨能够解析您的公共 DNS 的任何主机进行解析。如果您没有域名,可以通过注册商(例如Route 53)购买。

第二个选项是查看使用Route 53 private hosted zones。通过附加到您的 VPC,您可以设置在您的 VPC 中解析的 DNS 记录。如果您希望在混合网络中解析这些记录,您需要考虑添加DNS resolver

第三种选择是考虑使用可以解析域名的资源,为此,您可以加入域(使用 managed active directorysimple directory 等服务),或者您可以设置 EC2主机解析DNS。如果您使用混合架构,这是一个昂贵的解决方案,也是最复杂的解决方案。

查看Centralized DNS management of hybrid cloud with Amazon Route 53 and AWS Transit Gateway 帖子,了解有关混合 DNS 的更多信息

【讨论】:

  • 这行得通,我认为更改主机上的主机名会正常工作。看起来这需要在每个 ec2 框主机文件中更新,以便每个框都知道彼此的主机名。我在路由 53 中创建了一个条目。这不是首选,但比动态替换 hosts 文件更容易。
  • 我很高兴这对你有用,周末愉快:D
【解决方案2】:

您的本地计算机对您对 EC2 配置所做的更改一无所知。这些更改是 EC2 实例的本地更改。

通过dev-host.example.trade 之类的DNS 名称连接到您的云实例的一种方法是将elastic IP 关联到EC2 实例。即使实例重新启动,弹性 IP 仍然存在。

接下来,在您的 DNS 提供商处创建一个新的 A 型 DNS 记录,指向新发布的 IP 地址。

您现在可以使用 DNS 名称连接到服务器。

【讨论】:

  • 不想在路由 53 中使用弹性 IP 和 DNS 条目。内部可以吗?如果我可以访问“ssh -i {pemfile} ubuntu@{ip-ipaddress.us-east-2.compute.internal}”,我应该也可以访问自定义主机名吗?
  • 要从机器 B 访问机器 A,A 的 DNS 名称必须以某种方式在 B 处解析。必须有 DNS 记录(内部或外部 DNS 服务器)。或者,您是否尝试将记录添加到机器 B 上的 /etc/hosts 文件?从您的问题来看,您似乎修改了机器 A 上的文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-21
  • 1970-01-01
  • 1970-01-01
  • 2019-08-29
  • 1970-01-01
  • 1970-01-01
  • 2015-01-06
相关资源
最近更新 更多