SSH ec2 转到私有 IP

SSH ec2 转到私有 IP

我在 AWS 上有一个 ec2 实例,它具有关联的 EIP,并且可以通过 SSH 访问(通常)。不知道昨天和今天之间发生了什么变化,但现在我无法直接从我的电脑通过 SSH 连接到服务器。发生的情况是这样的:

  1. 当我通过 SSH 连接到服务器(例如 foo)时,我得到:

    debug1: Connecting to foo [10.0.0.55] port 22.
    debug1: connect to address 10.0.0.55 port 22: Connection refused
    ssh: connect to host foo port 22: Connection refused
    
  2. 当我运行主机 foo 时,它解析为正确的 EIP 和域:

    foo.bar.net has address 34.204.x.x
    

我知道一种解决方案是添加一个条目/etc/hosts或调整我的条目~/.ssh/config并将其添加.bar.net到主机的条目中。我不想做任何一个或。我的问题是,除了这两个解决方案之外,我还能做什么来确保 SSH 指向 EIP 而不是内部 IP?仅供参考,我使用的电脑是 Mac OSX。

答案1

ssh不“指向”任何东西,除非您在.ssh/config.

另请注意,该host命令专门使用 DNS 来查找名称,并且不会检查您的/etc/hosts文件。

您的计算机配置中的某些内容将名为“foo”的主机与该 IP 地址相关联。你的档案里有吗/etc/hosts?也许您的/etc/nsswitch.conf文件正在执行一些不寻常的操作并从 LDAP 或 NIS 服务器中提取“foo”?

ping foo如果你或,你会得到什么nc -v foo 22

相关内容