![除了使用 VPN 之外,SFTP 是远程访问多台内联网机器的最佳方式吗?](https://linux22.com/image/650907/%E9%99%A4%E4%BA%86%E4%BD%BF%E7%94%A8%20VPN%20%E4%B9%8B%E5%A4%96%EF%BC%8CSFTP%20%E6%98%AF%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE%E5%A4%9A%E5%8F%B0%E5%86%85%E8%81%94%E7%BD%91%E6%9C%BA%E5%99%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E5%BC%8F%E5%90%97%EF%BC%9F.png)
我只有一个公共 IP 地址,其后面是一些虚拟机,我需要从公共互联网使用 WinSCP/FileZilla 访问这些虚拟机。
我知道我可以像 一样在路由器上进行端口转发10022->192.168.1.100:22
,但感觉太繁琐了。我想知道是否有一个优雅的解决方案?最终目标是能够访问这些虚拟机上的文件系统并使用 GUI 客户端传输文件。
编辑:我可以选择通过 VPN 接入我的网络,但是我对此并不满意,因为我需要做更多的配置和安全预防措施等等。如果允许通过 VPN 接入私有网络,那么我必须在每个虚拟机上增加更多的安全性,这可能需要做很多工作,我想避免这种情况。
答案1
端口转发方法正是我所采用的。然而,缺点是某些网络(例如在酒店时)实施了出口过滤,只允许您连接到已知端口。因此,不常见端口上的服务器将无法访问。
可能会有安全/信任方面的问题,但您可以通过 NFS/Samba 将文件从所有机器共享到中央机器。然后将 22/tcp 端口转发到该机器。然后,您便可以在一个地方通过单个标准端口轻松更新所有文件。
[编辑] 一步一步:
- 使用 nfs/samba 将每个虚拟机的文件系统挂载到中央虚拟机上,例如:
- vm1:/路径/到/文件/mnt/vm1
- vm2:/路径/到/文件/mnt/vm2
- 将 22/tcp 端口转发至此中央机器
- 使用 SFTP 到这台中央机器,访问 /mnt/vm1 和 /mnt/vm2 上的文件