虽然我可以从客户端连接到服务器(openssh <servername>提示输入登录信息),但我在另一个客户机上得到"ssh: connect to host <servername> port 22: Connection refused“。
作为一个UNIX向导(因此:对于这个问题中出现的所有错误或缺失的术语,我很抱歉),我使用unison来同步文件系统分支。unison通过ssh使用ssl隧道。这就是为什么我让copssh在服务器(XP)上运行,也在客户机上运行(以便有一个好的ssh客户端)。
故障的机器重新安装了copssh。所有的机器都在运行XP。我试着关闭所有本地防火墙,并一直在查看openssl和ssh配置文件,但我完全无法找到原因。我甚至找不到有用的日志什么的。在失败的连接过程中,服务器上的Windows‘事件协议不包含任何条目。
我怎么诊断这个?我真的想解决这个问题。
局域网使用的是N300无si路由器模型WNR2000v2。“故障”客户端在有线局域网上,而在无线上工作的客户端。但是,如果我将工作客户端带到有线局域网(我已经检查过了),它仍然可以工作。在任何地方都没有22端口阻塞规则。
我浏览了所有相关的问题,但没有发现真正可比的答案,除了可能的原因,我已经核实。
发布于 2011-05-22 08:00:45
拒绝连接通常意味着两件事。要么是防火墙阻塞了连接(可能是路径上的网络防火墙,要么是主机防火墙),要么您试图连接的主机上端口没有打开。
根据您所说的,没有防火墙,所以您首先应该检查端口是否在主机上真正打开。执行netstat -n -p tcp并检查ssh端口是否正在侦听。你应该看到这样一条线:
TCP 0.0.0.0:22 0.0.0.0:0 LISTENING 2518如果没有,那就意味着,由于某种原因,SSH服务还没有启动,您应该检查copssh的日志。日志可能不在事件查看器中,您还应该检查程序的目录。
如果您确实看到SSH端口侦听,那么有什么东西阻止了您。您应该运行一个Wireshark,并检查预期的通信量是否到达您的主机,并试图找到路径上的阻塞位置。
发布于 2011-05-22 13:05:48
我已经找到了。
这并不是说我有很好的机会,因为这显然是没有记录的,但是通过验证我的整个IP设置,我发现我的错误客户端主机文件中有一个旧条目(在Windows\System32 32\drivers\等等下)。这导致服务器的实际IP不同于DNS报告的IP,CheckHostIP被设置为YES (当然)。
由于机器已被移动到DHCP LAN月(!,其他一切都太容易了),没有必要(也不允许)一个固定的IP主机文件。掉下来了--很管用。
该死的!
很抱歉问你。谢谢你的回答,即使这不是解决之道。(如果我遵循包嗅探分析的建议,我也会找到的。这就是为什么我会接受AntiFubar的回答,而不是我自己的答案。
https://serverfault.com/questions/272379
复制相似问题