树莓派写卡后连接诸多问题及方法

本文详述了树莓派64位系统的安装步骤,包括烧录卡、连接网络、初始配置和软件源设置。针对网络连接问题,如连不上网、VNC连接失败等,提供了解决方案,包括SSH连接、网络共享、静态IP设置和VNC服务器配置。此外,还介绍了如何启用root账户、更新软件源和安装小企鹅输入法。
摘要由CSDN通过智能技术生成

一些关于树莓派的文章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位

三种基本查看方式:

终端窗口输入命令:

  1. file /sbin/init 或者 file /bin/ls
  2. uname -a
    备注:i686表示32位机器,x86_64表示64位机器
  3. 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 pi@169.254.36.120

#ssh连接命令

#pi是用户名

#169.254.36.120是树莓派的IP

此时,如果笔记本电脑以前连接过树莓派,此次再连接,可能会出现如下:

C:\Users\38016>ssh pi@169.254.36.120
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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会发出警告,如果我们重新安装系统,其公钥信息还在,连接会出现上述情况

解决办法:

  1. 方法一:

    rm -rf ~/.ssh/known_hosts

    优点:干净利索

    缺点:把其他正确的公钥信息也删除,下次链接要全部重新经过认证

  2. 方法二:

    vi ~/.ssh/known_hosts

    删除对应ip的相关rsa信息(本例可知删除53行信息即可)

    优点:其他正确的公钥信息保留

    缺点:还要vi,还要找到对应信息,稍微优点繁琐

  3. 方法三:

    清除旧的公钥信息

    ssh-keygen -R 169.254.36.120

    ssh-keygen -R hostname   从 known_hosts 文件中删除所有属于 hostname 的密钥。(参阅:https://blog.csdn.net/qq_38570571/article/details/79268426)

    优点:快、稳、狠

    缺点:没有缺点

  4. 上面三种情况是非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 pi@169.254.36.120出现:

C:\Users\38016>ssh pi@169.254.36.120
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 pi@169.254.36.120
pi@169.254.36.120'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 字节的数据:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值