为了账号安全,请及时绑定邮箱和手机立即绑定

从互联网远程访问树莓派

标签:
运维

之前已经介绍过远程登录树莓派,主要讲的是局域网环境下通过SSH访问树莓派。通过互联网环境下远程访问局域网内的树莓派的方法,从实现角度上主要分为NAT端口映射、反向代理、内网穿透。本期我将介绍端口映射和SSH反向代理。

1.NAT端口映射

该种方法是通过拿到局域网上的公网IP,通过设置局域网网关NAT端口映射来实现从外网对树莓派的直接访问。本方法比较局限,主要是目前比较难获得公网IP,尤其是家庭自用的情况下,当然也可以联系你的宽带运营商获得固定公网IP。只能说这是一种方法,从实现上来说比较直接这里我就不多介绍了,有公网IP直接666。

2.SSH反向代理

SSH可以实现内网的登录,同样可以利用该技术实现SSH反向隧道,实现从外网登录树莓派。该方法的前提是你要有一台具有公网IP的服务器。

首先,让树莓派主动向具有公网IP的服务器的某个端口发起SSH连接,比如publicip.org:9999,形成一个SSH隧道。当我们使用互联网上的其他电脑,通过SSH连接到服务器的这一端口时,服务器会把通信内容接力到与树莓派的SSH隧道中,最终实现远程访问树莓派。

之前我们已经介绍过申请一台亚马逊的云主机,可以使用该主机来实现SSH反向代理服务。

(1)在云主机上需要修改sshd_config配置文件。

$ sudo nano /etc/ssh/sshd_config 
[sudo] password for haifeng: 
$ sudo service sshd reload

(2)在树莓派上建立通道,这里user1是云主机的登录用户名,publicip.org是云主机的域名或者公网IP,10009是云主机上开放的端口,也是你用来形成SSH反向隧道的端口。命令回车后会提示输入密码登录,输入密码登录即可。

ssh -R 10009:localhost:22 user1@publicip.org

然后会跳转登录至云主机,此处可以查看刚才建立的反向隧道的情况。

~$ netstat -anp | grep 10009
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:10009 0.0.0.0:* LISTEN -
tcp6 0 0 :::10009 :::* LISTEN -


该运行窗口不允许关闭,关闭后该隧道也随之关闭。

(3)然后在其他电脑上可以通过该隧道进行远程登录了。

~$ ssh -p 10009 pi@publicip.org

该方法只能作为临时访问措施,如果想要通过反向隧道实现持久稳定访问,可以设置通过设置后台服务或通过autossh进行设置。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
14
获赞与收藏
47

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消