我在CentOS 6、Server1和Server2上运行了2个VPS。我可以从我的PC上用SSH访问这两台服务器,但当我从Server2连接到Server1时,可以使用以下命令:
ssh root@xxx.xx.xxx.x -p 22 我知道这个错误:
无法连接到xxx.xx.xxx.x:22:连接被拒绝
这种情况只发生在Server2上。Server1可以连接到Server2,没有任何问题。
我确信我的SSH端口是22,我已经在两个服务器上停止了iptables,并且我已经检查了主机允许和拒绝配置。我怎么才能解决这个问题?
发布于 2012-12-25 18:59:49
首先,要将ssh转到端口22上的另一台服务器,您不需要-p交换机。这是默认的端口,ssh无需指定就可以完成。基本上,您希望查看端口22是否在服务器之间打开。一个简单的telnet客户机就足够了。在shell提示符上执行以下命令。
telnet servername 22如果您看到一些像openssh这样的文本,然后返回到shell提示符,那么这不是防火墙问题。
发布于 2012-12-25 18:42:21
我至少可以告诉你它卡在哪里了。三种常见的调试方法将按此顺序进行。
ssh -vvvv root@<XX.XX.XX.XX>在提供密码后,检查它正在抛出错误的位置。如果你想让我们看到的话就用巴斯托。
strace -ffttTo /tmp/strace.out ssh root@<XX.XX.XX.XX>如果您想让我们看到strace数据,请再次使用pastebin。
最后也是最致命的,
tcpdump -s0 -i ethX 'port 22' -w /tmp/ssh.pcap
ssh root@<XX.XX.XX.XX>当ssh失败时,按ctrl键停止tcpdump。很明显,你需要从不同的鞋底中分离出来。
不要把这些数据给我们,人们将能够看到一切。
发布于 2012-12-25 14:22:13
检查服务器2上的是否允许根登录,如果使用-vvv标志运行ssh,您应该看到是什么导致了故障。
https://serverfault.com/questions/460731
复制相似问题