一些关于树莓派的文章https://www.cnblogs.com/emouse/archive/2013/06/07/3124027.html
www.jijigongzuoshi.com/无屏幕和键盘配置树莓派wifi和ssh/
2020.08.29
树莓派关机重启命令:
关机方法任选一行即可
sudo shutdown -h now
sudo halt
sudo poweroff
sudo init 0
重启方法
sudo reboot
shutdown -r now
shutdown -r 18:23:52 #定时重启在18点23分52秒关闭
之前树莓派都是32位,https://www.raspberrypi.org/downloads/raspberry-pi-os/
最新(2020.08.20)32位:https://downloads.raspberrypi.org/raspios_full_armhf_latest(如用迅雷下载,完成文件名尾加.zip
(介绍https://blog.csdn.net/zuoguaishouxiao/article/details/106496323)
2020年5月份,官网https://downloads.raspberrypi.org/raspios_arm64/images/上有64位的:
1.https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-05-28/
2020-05-27-raspios-buster-arm64.zip镜像(下载速度挺快)
8月份有更新:
(注:8月版64位安装后, vncserver是启动不了的,要从32的上面复制一部分文件过来,解决方法参考:https://www.jianshu.com/p/7eff9966c292),不必要就暂不用64位,查错太浪费时间,本是想学人工智能的,结果成维护的了。
2.https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-08-24/
2020-08-20-raspios-buster-arm64.zip
查看自己的linux版本是32位还是64位
三种基本查看方式:
终端窗口输入命令:
- file /sbin/init 或者 file /bin/ls
- uname -a
备注:i686表示32位机器,x86_64表示64位机器 - getconf LONG_BIT
准备:
1.烧卡格式化:SDCardFormatterv5_WinEN
2.写卡:3-win32diskimager-1.0.0 (写卡之前下载准备好.img或.zip文件)
3.树莓派写卡成功后,在卡上新建一个ssh(文件名小写,内容为空)文件,再拨出卡,插入树莓派.(常忘)
一.连网准备:
1.把树莓派网口连接电脑USB
2.电脑网络共享中心,wlan,,属性,共享,勾选共享,,.
3.ping raspberrypi.local,看树莓派机的IP,以便连接.
如出现:
C:\Users\>ping raspberrypi.local
"Ping 请求找不到主机 raspberrypi.local。请检查该名称,然后重试。"
则可尝试换个USB接口以及换个转换器(许多笔记本电脑没有rj45网口需用转换)
用arp -a,没有显示树莓派IP,在用ping raspberrypi.local,如果能通,则再用arp -a就会显示IP,所以, arp -a没有显示IP,并不意味与树莓派网络没有连通.
如出现下面:
正在 Ping raspberrypi.local [fe80::cbaa:e4b8:ba73:4b6%16] 具有 32 字节的数据:
来自 fe80::cbaa:e4b8:ba73:4b6%16 的回复: 时间=1ms
来自 fe80::cbaa:e4b8:ba73:4b6%16 的回复: 时间<1ms
来自 fe80::cbaa:e4b8:ba73:4b6%16 的回复: 时间<1ms
来自 fe80::cbaa:e4b8:ba73:4b6%16 的回复: 时间<1ms
解决办法:只需加个参数-4,表示强制采用ipv4协议即可:
C:\Users\38016>ping raspberrypi.local
正在 Ping raspberrypi.local [fe80::2154:e547:a811:c920%14] 具有 32 字节的数据:
来自 fe80::2154:e547:a811:c920%14 的回复: 时间=1ms
来自 fe80::2154:e547:a811:c920%14 的回复: 时间=1ms
来自 fe80::2154:e547:a811:c920%14 的回复: 时间=1ms
来自 fe80::2154:e547:a811:c920%14 的回复: 时间=1ms
fe80::2154:e547:a811:c920%14 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 1ms,最长 = 1ms,平均 = 1ms
C:\Users\38016>ping raspberrypi.local -4
正在 Ping raspberrypi.local [169.254.36.120] 具有 32 字节的数据:
来自 169.254.36.120 的回复: 字节=32 时间=1ms TTL=64
来自 169.254.36.120 的回复: 字节=32 时间=1ms TTL=64
来自 169.254.36.120 的回复: 字节=32 时间=1ms TTL=64
来自 169.254.36.120 的回复: 字节=32 时间<1ms TTL=64
169.254.36.120 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 1ms,平均 = 0ms
或者:所连接的IPV6的协议不选,也可:
右击win10右下角网络符号,
打开"网络和Internet"设置
左击"网络和共享中心"
ipv6勾空.(解决看不懂IP地址)
4.单击连网的连接,属性,共享,勾选"允许,,,"
另阅官方文档:Adding the network details to the Raspberry Pi
https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
如果树莓派ping不通网址或者更新时出现destination host unreachable,则先:
一.输入命令services.msc,进入服务控制面板,找到IPSec服务,禁用,重启,OK。
二.再检查网络硬件故障.
网络不通,则配置vnc的时候更新不成功,出错(开始以为操作失误,几欲重烧录卡),vnc也连不上.通过笔记本的USB口能连上树莓派,但上不了网,
“Destination Host Unreachable目标主机不能到达 ”信息说明对方主机不存在或者没有跟对方建立连接。 网线没接好,或者网卡地、转换器有问题! 这都是可能有的.我今天(20200715)就遇过usb-rj45转换接口不良,还有网线时断时连的问题.
路由表中连到达目标的路由都没有,会出现“Destination Host Unreachable”。
主要在以下三种情形出现:
1、 局域网使用DHCP动态分配IP地址时,DHCP出现故障或者失败
DHCP失效或者出现故障时,客户机无法分配到IP地址,系统只有自设IP地址,而IP地址的自动设置往往会分配到不同的子网,因此会出现“Destination Host Unreachable”。
2、 子网掩码设置错误
这种情况一般比较少见,如果子网掩码不是系统自动生成的,则在计算时一定细心。
3、 路由表返回错误信息
这种情况一般是在“Destination Host Unreachable”前面加上IP地址,说明本地计算机与外部网络连接没有问题,但与某台主机连接存在问题。
"Destination Net Unreachable"这个信息表示对方主机不存在或者没有跟对方建立连接。这里要说明一下"destination host unreachable"和"time out"的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现"time out",如果路由表中连到达目标的路由都没有,那就会出现"destination host unreachable"。
把icmp安全策略关闭
tcp/IP属性——高级——选项——IP安全机制属性——选择"不使用IPSEC"确定,OK了,一切正常
二.连接树莓派
终端命令方式
ssh [email protected]
#ssh连接命令
#pi是用户名
#169.254.36.120是树莓派的IP
此时,如果笔记本电脑以前连接过树莓派,此次再连接,可能会出现如下:
C:\Users\38016>ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:oSdPSyjWut2Pb89FQiyh7QFi2VKM/5LRG43rcT9NvCc.
Please contact your system administrator.
Add correct host key in C:\\Users\\38016/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\38016/.ssh/known_hosts:1
ECDSA host key for 169.254.36.120 has changed and you have requested strict checking.
Host key verification failed.
OpenSSH的ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,如果我们重新安装系统,其公钥信息还在,连接会出现上述情况
解决办法:
-
方法一:
rm -rf ~/.ssh/known_hosts
优点:干净利索
缺点:把其他正确的公钥信息也删除,下次链接要全部重新经过认证
-
方法二:
vi ~/.ssh/known_hosts
删除对应ip的相关rsa信息(本例可知删除53行信息即可)
优点:其他正确的公钥信息保留
缺点:还要vi,还要找到对应信息,稍微优点繁琐
-
方法三:
清除旧的公钥信息
ssh-keygen -R 169.254.36.120
ssh-keygen -R hostname 从 known_hosts 文件中删除所有属于 hostname 的密钥。(参阅:https://blog.csdn.net/qq_38570571/article/details/79268426)
优点:快、稳、狠
缺点:没有缺点
-
上面三种情况是非windows系统处理方法,在windows10下,C:\Users\38016\.ssh\known_hosts文件直接改成known_hosts_bak.
C:\Users\38016>ssh-keygen -R 169.254.36.120
# Host 169.254.36.120 found: line 1
C:\Users\38016/.ssh/known_hosts updated.
Original contents retained as C:\Users\38016/.ssh/known_hosts.old
然后再ssh [email protected]出现:
C:\Users\38016>ssh [email protected]
The authenticity of host '169.254.36.120 (169.254.36.120)' can't be established.
ECDSA key fingerprint is SHA256:oSdPSyjWut2Pb89FQiyh7QFi2VKM/5LRG43rcT9NvCc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '169.254.36.120' (ECDSA) to the list of known hosts.
Connection closed by 169.254.36.120 port 22
其中要输入" yes"
然后再输入密码raspberry 连接,注意,输入密码时,观察一下,关掉输入法,在英文状态下输入.
C:\Users\38016>ssh [email protected]
[email protected]'s password:
C:\Users\38016>arp -a
接口: 192.168.31.78 --- 0xa
Internet 地址 物理地址 类型
192.168.31.1 XXXXXXXXXX
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
接口: 169.254.47.121 --- 0x10 (本机lan口)
Internet 地址 物理地址 类型
169.254.36.120 b8-27-eb-68-7f-e0 动态 #树莓派的IP
169.254.255.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.251 01-00-5e-00-00-fb 静态
224.0.0.252 01-00-5e-00-00-fc 静态
239.255.255.250 01-00-5e-7f-ff-fa 静态
C:\Users\38016>ping raspberrypi.local
正在 Ping raspberrypi.local [169.254.36.120] 具有 32 字节的数据: