环境:
介绍:
由于手边没有显示器,所以在给树莓派刷了系统之后,没办法进入系统。也尝试使用了手机开热点,同处于一个WIFI下进行远程ssh操控,发现手机热点不稳定,操作的时候总会出现卡顿的情况。于是自己琢磨了一下怎么通过网线直连来进行通信。前前后后调了大半天,记录一下整个调试过程。
整个过程可能会有更简单的修改配置文件就OK的方法,我这个方法是在我现有水平下进行尝试成功的方法,不等于最有效或者是最优解,欢迎大家补充说明。
可以直接参考官网给出的教程,刷系统直接使用Raspberry Pi Imager
即可,先跟着官网走到第三步即可
在写入镜像之前,注意在Imager
右下角的设置按钮里面允许远程连接
官网刷机教程
先说一下手机开热点,然后连接到同一个WIFI进行远程ssh连接的方法
首先用手机开一个热点(WIFI),热点名字不要带中文。
然后我们在windows下进入刷系统的SD卡,编辑system-boot
下的network-config
文件,用记事本或者vscode打开都是可以的,能编辑即可。
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"热点(WIFI)名字(不含中文)":
password: "密码"
写好了之后,保存退出即可。弹出SD卡
然后将电脑连接到热点(WIFI)。将SD卡插回到树莓派中,然后给树莓派上电。静待一会之后,我们可以在手机的热点后台,或者路由器的后台管理查看树莓派的IP地址,记录。
此时,电脑和树莓派都处于同一个局域网下面,因此此时可以使用ssh来进行连接
win+R
打开运行,输入cmd
打开命令行,然后我们尝试ping能否ping通
我这里的查到的设备IP是192.168.43.152
ping 192.168.43.152
# 返回消息如下:
正在 Ping 192.168.43.152 具有 32 字节的数据:
来自 192.168.43.152 的回复: 字节=32 时间=509ms TTL=64
来自 192.168.43.152 的回复: 字节=32 时间=57ms TTL=64
来自 192.168.43.152 的回复: 字节=32 时间=118ms TTL=64
来自 192.168.43.152 的回复: 字节=32 时间=80ms TTL=64
192.168.43.152 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 57ms,最长 = 509ms,平均 = 191ms
代表以及ping通
然后我们进行ssh连接
ssh [email protected] # 树莓派装Ubuntu的默认用户名就是ubuntu
# 然后提示输入密码,默认情况下密码也是ubuntu
输入密码之后就进入ubuntu了,由于第一次登录,系统为了安全性会要求你修改密码,我们直接修改即可。
官网原文
Changing the password
When prompted, use “ubuntu” for the password. (The cursor won’t move when you type the password.) The first thing Ubuntu will do is to ask you to change it to a secure password. Once done, you can reconnect again with the SSH command and the new password.
Success! You are now connected to Ubuntu Server running on your Raspberry Pi.
这样我们就成功进入ubuntu啦
在同一个热点(WIFI)实现了连接之后,我们就可以开始配置下一步连接了。如果我们使用的是手机热点建立的连接,那么手机热点有可能会不稳定导致整个体验过程不好,因此,在此基础上,我又开始琢磨如何使用网线直连两台设备。
经过一番学习,我了解到了直接网线把两个设备连接起来是没有办法进行通信的。我们需要将树莓派和我们windows的连接的两个网口同时设置为静态IP,这样两者就可以相互找到,并且实现互通了。
进入/etc/netplan
文件夹,编辑里面的50-cloud-init.yaml
文件的以下内容:
注意:我们在这可以备份一下我们的文件,防止写错了
cp 50-cloud-init.yaml 50-cloud-init.yaml.copy
改名我们可以直接使用
mv
指令来进行改名mv 50-cloud-init.yaml.copy 50-cloud-init.yaml
network:
ethernets:
eth0:
addresses: [192.168.50.2/24]
dhcp4: no
optional: true
version: 2
说明一下:
- eth0代表着树莓的有线网卡名字,可以使用
ifconfig
查命令- 每层级缩进应确保严格对齐
- 冒号后输入内容需要空一格
- IP地址需要[]括起来
- /24代表子网掩码是255.255.255.0
- dhcp4: no代表关闭动态IP
- 不设置网关
然后保存文件之后,应用配置
sudo netplan apply
未报错即可
然后将树莓派通过网线与你的笔记本连接,此时可以查看ip地址了
ifconfig
返回
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.50.2 netmask 255.255.255.0 broadcast 192.168.50.255
可以看到此时的IP地址已经改为静态IP地址了(有时候可能是192.168.50.x即别的数字)
配置好了树莓派,然后就可以开始配置Windows的静态IP了
右键WIFI图标,进入网络和Internet设置 -> 进入高级网络设置 -> 更多网络适配器选项
找到连接树莓派的网口,在这个地方如果不确定哪个是连接树莓派的网口,我们可以通过插拔网线来查看是哪一个网口
右键进入属性,在共享界面允许其他网络用户通过此计算机的Internet连接来连接,并选择用以太网来连接
修改IPv4属性中的IP地址,改为静态IP地址,注意IP地址前三个数组要和Ubuntu下的一样,点击确定
再次打开Windows的cmd
,在命令行输入连接指令
ssh [email protected]
# 这里的IP地址和Ubuntu下ifconfig查看的IP相同