我在 Debian Wheezy 盒子上运行 SSH 服务器。我有 4 台计算机和两部 Android 手机,它们可以使用本地 IP 成功连接到 SSH 服务器。
但是我的其中一台电脑无法连接到 SSH 服务器。这台电脑是我运行 Win 7 的工作电脑。如果我通过 OpenVPN 连接,则可以连接,但当我直接使用本地 IP 连接到服务器时则无法连接。只能从这台电脑连接。
关于继续下去有什么建议吗?这让我抓狂了!
答案1
有很多原因都可能导致这种情况。我将提供一些我见过的导致类似症状的情况:
- SSH 服务器上的本地防火墙配置(您说它已关闭,只是为了完整性而包括)
- 受影响的工作站即使存在物理连接也会尝试通过无线方式连接。(尝试通过网线直接连接到家用路由器/交换机。然后关闭笔记本电脑的无线功能并尝试通过 SSH 连接。)
- 工作站 Windows 防火墙阻止了传出流量。(关闭 Windows 防火墙,看看是否可以连接。只需记住在测试后将其重新打开即可。)
- 您的家用路由器会隔离无线/有线流量。(请检查路由器的设置和/或尝试测试两台主机是否通过网线连接到您的家用路由器)
如果您的家庭网络比单个家庭无线路由器/交换机更复杂,那么您可能会遇到一些其他小问题。不过,您必须提供有关您的设置的详细信息,我才有机会帮助您。
答案2
好的,我已经解决了这个问题,并且认为我应该将解决方案添加到这里,以便其他可能遇到同样情况的人能够解决。
显然,我尝试连接的客户端在文件中提到了/etc/hosts.deny
。我从那里删除了它,然后我就可以连接到 SSH 服务器了!
但几个小时后它又不起作用了。我/etc/hosts.deny
再次检查了文件,我的客户又被添加到文件中了!
进一步挖掘后,我找到了/var/lib/denyhosts/
包含以下文件的目录:hosts
,hosts-restricted
其中提到了我的客户。我认为这与我输入错误密码的次数有关,然后每次我尝试进行错误登录时,它都会不断重复。
在配置文件中,/etc/denyhosts.conf
您可以定义此设置以及如果有人输入错误登录信息等应该发生的情况。就我而言,它有时有效有时无效的原因是因为禁令在 5 天后被取消。现在我刚刚将其注释掉,因此每当有人被禁止时,客户端将被永久禁止,直到我自己解锁。我还设置了每当有人被禁止时都会向我发送电子邮件。
我希望这也能帮助别人!