SSH 连接但保留在同一台机器上

SSH 连接但保留在同一台机器上

我手头上有一个不寻常的问题,我两天都无法解决。

我的真机上运行着两个 KVM。其中一个被命名headnode,第二个被命名computenode。这些机器运行 CentOS 7,我的真机运行 Ubuntu 16。

我设置了/etc/hosts包含其 IP 及其主机名的文件。它看起来像这样headnode

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.1.1   headnode
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.192.122.101 computenode
10.42.0.45 MyMachine

问题是我无法通过 SSHheadnode访问computenode。通常是这样的:

[root@headnode ~]# ssh root@computenode
root@computenode's password: 
Last login: Fri Aug  3 11:24:01 2018 from gateway
[root@headnode ~]#

你看到问题了吗?它一直保持着headnode。首先想到的是我配置/etc/hosts错误,但事实并非如此。我检查了20多次,甚至更多。我多次重新输入整个文件。它并不能解决问题。

我可以正常从头节点 ping 计算节点。

[root@headnode ~]# ping -c 3 computenode
PING computenode (127.192.122.101) 56(84) bytes of data.
64 bytes from computenode (127.192.122.101): icmp_seq=1 ttl=64 time=0.096 ms
64 bytes from computenode (127.192.122.101): icmp_seq=2 ttl=64 time=0.108 ms
64 bytes from computenode (127.192.122.101): icmp_seq=3 ttl=64 time=0.108 ms

--- computenode ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.096/0.104/0.108/0.005 ms

如您所见,它 ping 通了正确的 IP。

当我使用-vSSH 选项时,它也证明它看起来连接到了正确的 IP:

debug1: Connecting to computenode [127.192.122.101] port 22.
debug1: Connection established.

我所看到的调试没有任何异常。

但是,当您观看audit.log的文件时computenode,它没有收到任何连接尝试!它消除了computenode拒绝连接或建立隧道的可能性。

computenode通过 SSH 连接到到headnodeMyMachine从其中任何一个连接到都没有问题。

这些是新机器,我只配置了/etc/hosts, /etc/hostname,/etc/sysconfig/network仅添加 HOSTNAME 变量并/etc/sysconfig/network-scripts/ifcfg-eth0更改 IP。

问题总结是,我认为headnode解决了computenode正确的IP,但随后连接回自身并且不向computenode任何地方发送任何内容。

此外,我删除了所有 KVM 及其映像并设置了新的。又出事了!我添加了第三台机器,但那台机器没有发生这种情况。

我禁用了 NetworkManager 并将其停止,我禁用了防火墙。

直接使用computenode的IP从headnode到computenode的SSH:

ssh [email protected]

答案1

问题很简单,就是我在 /etc/hosts 中一遍又一遍地输入错误的 IP。可笑的是,我每次设置KVM时都会犯同样的错误,而且无论我检查多少次都没有注意到。

如果您遇到类似的问题,请阅读 /etc/hosts 文件中的每个字符,并要求您的同事也阅读它们。有时,你只是看不到。

相关内容