远程SSH登陆
1.NAT端口映射
当一组公网IP和端口号能对应唯一的私网IP和端口号,这种情况下就能从外网连接到局域网中的设备
例如:公网的199.165.145.1:8999对应私网的10.0.0.1:22
- 连接命令
$ssh pi@199.165.145.1:8999
这种方法网关必须允许相关端口映射设置,很多网关不向外网开放类似的端口映射
2.SSH反向隧道
首先让设备主动向公网服务器的猫哥端口发起SSH连接,如sunny.com:8999,形成一个SSH隧道。当我们使用互联网上的其他电脑,通过SSH连接到服务器的这一端口时,服务器会把通信内容接力到与设备的SSH隧道中,最终抵达设备。
需要自行实现一个类似的中继服务器,可以使用Amazon或阿里云的弹性云来架设中继服务器,并且开放反向连接的端口。
建立反向隧道
$ssh -R 8999:localhost:22 sunny@sunny.com
- 从互联网上登录:
$ssh -p 899 pi@sunny.com
其他参考
人必有所执,方能有所成。