目前我使用的是无线路由器TP-Link WR740N。我尝试了以下两种解决方案来连接到位于无线路由器后面的主机:
- 使用TP-Link WR740N提供的“虚拟服务器”功能,将服务端口22映射到我的主机IP地址。
- 使用无线路由器的“DMZ”功能,通过该功能我的主机将完全向WLAN开放。
然而,上述两种解决方案都没有成功。我还确信我的无线路由器和主机的防火墙配置都允许 ssh 通信。
您能帮我找出原因吗?谢谢你!
答案1
我假设您在提到的配置中没有犯任何错误。如果您的主机位于 DMZ 中并且连接仍然失败,则您的 ISP 可能会阻止某些流量 - 特别是通常与服务器关联的流量。
解决此问题的一种方法是使用不同的端口进行连接。你可以
- 将面向 WAN 的较高端口 (>1024) 转发到您盒子上的端口 22。
- 配置 SSH 以侦听另一个端口并将该端口转发到您的盒子。
两者都有同样的效果。如果此时仍然无法正常工作,则可能是您的路由器配置设置不正确。
答案2
我真的不确定问题是什么,但通常我会选择 SSH,
- SSH Deamon 运行在主机上,如果运行则运行在哪个端口上?
- IPTables/防火墙允许该特定端口吗?
- TCPWrappers 有什么问题吗?
如果您知道主机的 IP,只需ssh username@hostname
或ssh username@IPof_host
即可。
如果您遇到任何错误,请告诉我们。祝你好运。
答案3
我会尝试调试一下...
首先,尝试拥有ssh主机和ssh客户端在同一网络中,然后从您的客户端执行此操作
ssh -p host_ssh_port host_user@host_ip
,以确保此级别上一切正常。如果有效,您可以转到下一步,如果无效,请发布 的输出ssh -v -p host_ssh_port host_user@host_ip
。二、配置虚拟服务器在您的路由器上使用上面步骤中的
host_ssh_port
和host_ip
,并尝试使用 进行连接ssh -p host_ssh_port host_user@router_external_ip
。如果这不起作用,请发布 的输出ssh -v -p host_ssh_port host_user@router_external_ip
。
作为旁注,考虑到您的路由器似乎无法对不同端口(端口 4022 到端口 22)进行 NAT,请尝试使用host_ssh_port
大于 1024 的端口并调整您的虚拟服务器到它。