树莓派4B ssh以及VNC连接莫名出现问题解决方案

项目场景:

最近学习完ROS打算用树莓派做一下实物,就在树莓派里装了一个32位ubuntu18.04系统,不过在使用过程中出现了很多莫名其妙的问题,尤其是ssh和VNC时灵时不灵问题很大,重装了一次系统还是不行,最后找到了一个解决办法。


问题描述

首先说明一下情况,我的树莓派是两三年前买的树莓派4B,2G,装着64G内存卡。
这两三年用过好几个系统,都是树莓派官方的,一直也是ssh连接并且从来没有出过任何问题。

不过这次装了ubuntu18.04之后,配置网络,ssh,VNC之后,尤其是在配置VNC之后,SSH连接以及VNC连接都会出现问题。
比如当天我安装完VNC和ssh之后还reboot了一下并且也能连接,完全正常,不过第二天睡醒之后发现树莓派上电之后直接用笔记本ssh连接会没有反应直到连接超时,VNC也一样,然后胡乱鼓捣的话偶尔能碰到正常情况,但是过段时间后又会出问题,查了很多CSDN的文章,防火墙,权限给多了,端口权限之类的都试了一遍还是没有用。

但是用HDMI直接连显示屏的话是可以正常使用树莓派的,网络也没有任何问题,更新啊下载什么东西都没有任何问题。

搜了那么多东西好像没有人说可以怎么解决,所以就来写一篇文章说一下。

原因分析:

事情的转机发生在我在ROS群里问有没有人跟我一样的时候有两个老哥回我。
第一个说是4B有的批次wifi模块有问题,他换了外接的USB网卡就没有问题了。
(不过我手头没网卡,没有实际使用,主要是第二个

第二个说,他的树莓派4B刚开机的时候可以ssh连接但是一旦开始超过一段时间之后还没有SSH连接就不能再连了,所以他一般都是一开机就赶紧连接。不过如果不开机就立刻连接的话也有办法解决:

开机之后不立刻SSH连接
当前状态是主机ping树莓派ping不通
这时候树莓派连接显示屏ping一下主机的话,再用主机ping树莓派的话就能ping通了,这时候SSH连接也能使用了。
(树莓派ping主机甚至可以ping不通,反正只要树莓派ping了主机就能ping树莓派了。

解决方案:

虽然不知道是为什么,但是我试验了几次之后发现确实跟第二个老哥的情况一样,所以解决方法就有了。
写一个开机自启动脚本,实现让树莓派开机之后自己先ping主机几下。
(写脚本的方法有很多,根据自己需要来搞。

大概的指令就是:

cd /etc/init.d/
sudo nano ./lianjie.sh

这个lianjie是我自己随便起的,里面的内容是

#!/bin/sh
### BEGIN INIT INFO
# Provides:          svnd.sh
# Required-start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the svnd.sh daemon
# Description:       starts svnd.sh using start-stop-daemon
### END INIT INFO

ping -c 4 192.168.33.75  #ping主机的IP地址四次之后自己停止.,这里IP地址我随便打的
echo "welcom gonglei" >> /etc/huanyinggonglei.txt   #这个是为了证明这个自启动确实起作用了,每次开机都会发现这个txt文档里面多了字

exit 0

然后执行

sudo chmod 755 ./etc/init.d/lianjie.sh #增加可执行权限
sudo update-rc.d lianjie.sh defaults 99 #设置为开机启动,99是序列号,越大启动的越晚
sudo reboot #重启

问题解决,希望有大佬找到这个问题的真正原因和解决方法吧,over。

你可能感兴趣的:(ssh)