SSH登录树莓派(电脑直连树莓派)
一、材料:树莓派一部、网线一根,笔记本电脑一台。
1、树莓派:带供电系统和烧好Raspbian系统的SD卡;
2、网线:交叉或直连;
3、笔记本电脑:双网卡,现在应该都是这个配置的。
二、操作步骤。
1、连线。
树莓派接好供电线;
将网线一端接到树莓派,另一端接到笔记本。
2、共享互联网。
如果现在笔记本已经通过WIFI连接到互联网,可以将无线网卡的互联网资源共享给本地连接。以win7系统为例,开始——控制面板——网络和Internet——网络和共享中心——查看网络状态和任务——更改适配器设置,找到无线网络连接右键“属性”,在共享选项卡上选中“允许其他网络用户通过此计算机的Internet连接来连接(N)”选项,点确定。
3、查找树莓派的IP地址。
运行DOS窗口,输入arp -a,在接口192.168.137.1下的为动态类型的IP地址就是树莓派的地址。
为什么是接口192.168.137.1的呢?因为上部共享互联网的时候已把“本地连接”的IP地址自动设置成静态IP192.168.137.1了,当然这个IP地址也可以自己设置成其他自己常用的静态IP地址。因为此时树莓派的IP地址是动态的,只能用此方法查找。也可以通过修改SD卡中的cmdline.txt文件(在里面加入语句ip=...),将树莓派设置成静态IP地址,但此时只有将电脑的“本地连接”的静态IP地址设置成与树莓派静态IP地址同一号段才能成功连接。
4、利用PuTTY软件连接树莓派。
此时输入上述查找的动态IP地址或设置好的静态IP地址就能连接上树莓派了,因为是初次连接要进行一下初始化设置和其他操作。
局域网登录固定IP树莓派
如果我们希望直接不通过电脑直接连接登录到树莓派,可以参考下面的教程
树莓派默认使用的是dhcp自动分配ip,而且默认打开SSH服务
当有些情况下我们不想扫描ip那么可以考虑将树莓派的ip设为固定ip这样我们每次就能准确访问,而不需要扫描ip
设置树莓派为静态ip的方法和debian linux修改是一样的
(可以根据上一部分的教程在树莓派连接电脑的时候设置)
在/etc/dhcpcd.conf文件后面增加
这里eth0代表板子上的RJ45口的地址
这里要注意 ip地址要根据自己的子网掩码改 而且后面的"/24"也别落下(开始我觉得没用去掉了就不行) 然后domain_name_servers后面还可以加dns地址比如
domain_name_servers=192.168.1.1 8.8.8.8
然后重启服务或系统
外网SSH登录树莓派
ngrok是非常流行的反向代理服务,可以进行内网穿透,支持80端口以及自定义tcp端口转发。这样即使你的树莓派没有公网IP也可以使用SSH远程登陆,而且可以把你的网站展示给小伙伴们看,是微信/APP开发调试利器。
这里推荐natapp.cn,位于国内的阿里云BGP多线机房,稳定高效,如果觉得不错可以考虑捐款支持。
先到natapp.cn下载linux-arm版32位的程序,同时注册并创建一个TCP隧道,配置如下:
上图中本地地址即为树莓派设置好的本地固定IP,端口号填写22
下载好对应的文件放到一个目录中,假设为ngrok
解压文件,同时赋予文件执行的权限
unzip ngrok_linux_arm.zip
chmod a+x natapp
直接在目录运行程序
natapp -authtoken=ee3e7xxxxx
上面的authtoken填写申请到的authtoken
如果成功即可看到如下页面
这时候就可以通过putty来登录你的SSH啦
登录HOST NAME为ngrok.natapp.cn 端口号填写上图中显示的端口号
需要提醒一点的是,对于免费用户,端口号一段时间过后就会强制改变的!(按我的经验来看,大概是两个小时左右)
所以如果希望使用永久的端口号,还得花钱才行。。。
补充
按照上面的步骤应该就能实现通过外网来对树莓派进行访问了,但是需要每次都在树莓派手动开启这个程序,非常麻烦!!
强烈推荐在linux下 使用Supervisor,可以让 natapp(ngrok) 以deamon方式后台运行,且做到自动开机启动,出现问题自动重启等,强烈推荐!
首先 安装supervisor (yum or apt-get) 且配置好,以apt-get为例
sudo apt-get install supervisor
在 supervisord.conf 添加如下配置
[include]
files = /etc/supervisor/conf.d/*.ini
在/etc/supervisor/conf.d下创建文件natapp.ini
编辑内容
如 下载的 natapp在 /home/pi/ngrok/natapp
[program:natapp]
command = /home/pi/ngrok/natapp -authtoken=xxxxxx -log=stdout
directory = /home/pi/ngrok
process_name = %(program_name)s_%(process_num)s
numprocs = 1 ;注意这里只能为1
autostart = true
autorestart = true
;以下为日志,按实际情况修改
stdout_logfile = /var/log/supervisor/natapp_stdout.log
stdout_logfile_maxbytes = 10MB
stderr_logfile = /var/log/supervisor/natapp_error.log
stderr_logfile_maxbytes = 10MB
这样就可以实现natapp的 后台&开机自动启动了,且可以留下日志记录
注意:此处 -log=stdout作用是将日志直接输出,让Supervisor可以全部捕获
请务必在 我的后台->我的隧道->配置处 将 本地Web管理地址 关闭掉,这里非常重要
参考网站
- 树莓派,一根网线,笔记本电脑。只有这三个也能玩pi
- 树莓派设置静态IP记录
- 树莓派2B设置固定ip
- 无公网IP使用ngrok控制内网中的树莓派
- 使用natapp超简单minecraft (我的世界) 映射开服,公网联机
- Linux 下使用 supervisor 后台运行&开机启动