无法通过 SSH,但 TeamViewer 可以

1''*_*1'' 3 firewall ssh port teamviewer

我想通过 SSH 连接到防火墙后面的计算机,该防火墙阻止 SSH 连接(传入和传出)。有趣的是,我仍然可以使用远程桌面软件 TeamViewer 访问计算机。我假设 TeamViewer 被允许进入,因为它使用的端口与 SSH 的默认端口 22 不同,因此我将以下端口添加到 /etc/ssh/sshd_config:

Port 22
Port 443
Port 80
Port 5938
Port 10000
Run Code Online (Sandbox Code Playgroud)

然后尝试使用(例如)依次连接到每个

ssh user@remote-computer.com -p 5938
Run Code Online (Sandbox Code Playgroud)

没有任何端口工作:我仍然收到Connection timed out错误消息。

为什么 TeamViewer 可以连接到远程计算机而 SSH 不能?如何通过 SSH 进入(或退出)远程计算机?

dre*_*010 5

如果您想通过 SSH 连接到防火墙后面的计算机,则需要将端口转发 (DNAT) 规则添加到防火墙映射端口 22(或您决定使用的任何端口)到内部服务器上的 SSH 端口.

TeamViewer 可以通过使用NAT TraversalUDP 打孔等技术通过路由器建立连接到 PC。虽然 TeamViewer 连接是对等的(客户端直接连接到主机),但初始连接是在 TeamViewer 服务器的帮助下建立的,它告诉主机客户端正在尝试连接,然后通过让服务器和客户端尝试打开连接,然后将防火墙置于允许 TeamViewer 连接传递到主机的状态。

TeamViewer 连接到主机的流量通过路由器,就像访问网页的流量一样,当 PC 上的浏览​​器通过防火墙请求网页,然后将响应发送回它时。主要区别在于“技巧”用于打开客户端防火墙/路由器上的相应端口,并允许从远程 TeamViewer 客户端进行连接。