• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何使用autossh实现树莓派内网穿透

内网穿透连接在长时间不使用时会自动断开。 现在有一个更好的解决方案,使用autossh来实现一个不会断开的反向链接,实现内网穿透。

如何使用

首先在树莓派上安装autossh,命令是:

安装完毕后,启动autossh,可以使用如下命令:

参数解释:

参数“-M 5678”中,-M指定树莓派的监控端口,此处是5678。树莓派会定时检查该端口,如果不通则会重新发起连接。
命令“1234:localhost:22”中, 1234表示需要在远程主机上开启的端口,22表示本地的ssh端口。这个含义表示我们希望通过公网ip和1234端口访问树莓派的22端口。
[email protected] -p222 user为公网机器上的用户,222为公网机器的ssh端口。

免密码登陆

通常情况,建立反向连接时需要登陆公网机器,此时需要输入密码。而开机自启动输入密码显然不现实。此时需要使用sshkey来实现免密码登录。
首先,在树莓派上生成sshkey,命令如下:

由于我们不需要密码,所以一路回车即可。生成的id_rsa.pub文件在~/.ssh/文件夹里。然后我们将这个key推送到公网机器。命令如下:

为了使树莓派开启能够自动连接公网服务器,我们使用systemctl来注册一个能够开机自动启动的服务。
首先创建autossh.service,命令如下:

加入以下内容:

创建完毕之后保存该文件。然后使用下面两条命令启动autossh并设置开机自启动。

使用下面的命令查看autossh的运行状态:


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址