问题
想要在外网登录家中局域网的树莓派,家里的网络外网ip的会变,而且不适合对公网暴露端口。调研了一番,发现可以使用云主机当跳板,结合ssh隧道实现远程登录到局域网中的树莓派
关于ssh隧道的原理可以参考:
SSH原理与运用(二):远程操作与端口转发中的十、远程端口转发
解决方案
准备工作
- 云主机一台(cloud)
- 树莓派一个(rpi)
- rpi能ssh到cloud上
配置方法
1.在树莓派上配置ssh免密登录,~/.ssh/config
配置可参考:
Host cloud
Hostname 1.1.1.1 #云主机ip
User root
Port 22
IdentityFile ~/.ssh/id_rsa #密钥 https://www.jianshu.com/p/e22058f6ecbf
ServerAliveInterval 120 #防止超时断开连接 https://www.awaimai.com/2523.html
2.在树莓派上运行如下命令,并保持进程运行。目前是使用tmux扔到后台跑,后面考虑使用更方便的方法。
ssh -R 8022:localhost:22 cloud
3.此时在云主机上就可以登录到局域网中的树莓派
ssh -p 8022 user@rpi