其他用户提供的答案帮助我完成了从互联网连接到家用电脑客户机的任务。您应该能够使用计算机,平板电脑和智能手机(Android,IPhone等)进行连接。我添加了一些步骤,以防它可能对其他人有帮助:
这是我的设置的快速图表:
Remote device -> INTERNET -> MODEM -> ROUTER -> HOST MACHINE -> GUEST VM
Remote device (SSH client) -> PASS THRU DEVICES -> GUEST VM (SSH server)
Remote device (leave SSH port 3022) -> INTERNET -> MODEM -> ROUTER (from port 3022 to 3022)--> HOST MACHINE (from port 3022 to 22 -> GUEST VM (arrive ssh port 22)
对我来说关键是要意识到所有连接都是PASSING-THROUGH
中间设备,从我的远程PC到家里的客户虚拟机...因此端口转发!
笔记:
- 需要SSH客户端请求安全连接和正在运行的ssh服务器来处理安全连接。
- 我将转发上面选择的答案中使用的端口3022。
- 在需要的地方输入您的IP(家庭调制解调器/路由器,主机IP,访客IP等),选择的名称只是示例 - 使用或更改。
- 在调制解调器的IP /路由器的外部IP地址上创建到端口3022的ssh隧道。
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
端口转发=我们通过从路由器到主机的连接
主机防火墙:打开端口3022 #so转发端口可以通过客户端机器
有人建议使用网桥适配器来访问局域网和LAN上的其他计算机。这也会增加安全风险,因为如果防火墙设置不正确,现在您的客户机现在暴露给局域网机器,可能还有INTERNET黑客。因此,我选择了连接到NAT的网络适配器,以减少桥接安全风险。
在客户机上执行以下操作:
- Guest Machine VirtualBox网络设置:适配器1:连接到NAT,
Guest Machine VirtualBox端口转发规则:名称:External_SSH,协议:TCP,主机端口:3022,访客端口22,主机和访客IP:留空
单击“网络”部分中的“高级”,然后单击“端口转发”以输入规则
Guest Machine Firewall:打开端口22 #so SSH连接即可进入
- 来宾计算机:确保已正确安装,配置并运行ssh服务器
- LINUX测试看看ssh服务器是否运行:sudo service ssh status
- 可以检查netstat以查看是否在来宾计算机上连接到端口22
根据平台使用情况,还有不同的SSH服务器和客户端。
对于Ubuntu用户:
那应该是它。
希望这有助于某人。