我有两台专用网络上的计算机和一台 VPS,全部运行 Linux。我希望能够在两台计算机之间建立一条安全隧道,以便一台计算机可以安全地访问另一台计算机托管的服务。
我尝试过寻找其他解决方案,但据我所知,它们并没有在两台计算机之间创建“无缝”且安全的隧道,因为必须先通过 ssh 进入 VPS,然后在反向转发后从那里 ssh 进入第二台计算机到 VPS,或者它们仅适用于 SSH,并且不允许转发其他应用程序。据我所知,这不允许我直接从第一台计算机访问界面。
我们将它们称为远程计算机、VPS 和本地计算机。
- 远程计算机:主机服务(Spice 服务器)
- VPS:转发服务
- 本地计算机:访问服务
________________ _____ _________________
| | | | | |
| Local Computer | <-> | VPS | <-> | Remote Computer |
|________________| |_____| |_________________|
(<-> = Secure SSH Tunnel)
我尝试使用 SSH,但不知道如何安全地进行。我尝试转发的服务之一是 Spice 服务器,我通过在VPS 上设置GatewayPorts
为 yes并在远程计算机上运行命令来实现这一点,这允许我通过在本地计算机上运行来访问 Spice 服务器。当然,这并不是很安全。/etc/ssh/sshd_config
ssh -R 55667:localhost:5900 user@VPS_IP
remote-viewer spice://VPS_IP:55667
我正在考虑的第二个解决方案是使用以下命令来尝试建立安全连接:
# Remote Computer
ssh -R 55667:localhost:5900 user@VPS_IP
# Local Computer
ssh -L 55667:localhost:55667 user@VPS_IP
remote-viewer spice://localhost:55667
为此,GatewayPorts
在/etc/ssh/sshd_config
.我还应该注意到,spice 服务器允许设置密码,尽管我很确定它不会加密任何内容,并且我不确定它是否有能力保护虚拟机免受攻击。这个解决方案有效,或者至少我能够使用最后一个命令访问香料服务器,但它仍然使人们可以访问服务器来执行诸如尝试暴力破解香料服务器密码之类的操作。
最后一个示例会在本地计算机和远程计算机之间创建安全连接吗?如果没有,是否有一种简单的方法可以在两台计算机之间使用 SSH 等方式建立安全隧道,以便我可以remote-viewer spice://localhost:55667
在本地计算机上运行以访问远程计算机上的 SPICE 服务器?
预先感谢您,如果我应该提供有关该问题的任何其他信息,请告诉我!