《用树莓派做点什么》-006-远程登录树莓派

Posted somebot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《用树莓派做点什么》-006-远程登录树莓派相关的知识,希望对你有一定的参考价值。

 

博主QQ:1356438802

《用树莓派做点什么》QQ群:879921733

本文相关资料下载链接:

链接:https://pan.baidu.com/s/1SyrF4glaHjaBhl8Mm4WRwQ
提取码:t4v4

 

目录

叨逼叨

搞到树莓派的IP地址

SSH远程上树莓派

远程桌面上树莓派


 

叨逼叨

当树莓派接上了显示器之后,它就是一台完整的电脑了,有一定的娱乐和工作承载能力。但是随着你在自己的工作电脑和树莓派之间切换的频率越来越高时,就会觉得好烦,一会儿在这个键盘回微信,一会儿到树莓派上写代码。比如我的战神笔记本,办公桌本来就小,放一个霸气的战神,再放个连着各种线的树莓派,及配套的键盘、鼠标、显示器,空间局促不说,一双手在两个键盘搭来搭去,总有一瞬间恍惚了。那么有没有一种解决办法嘞?

有,有2种解决办法,可以让你在自己工作电脑就能访问你的树莓派。你来看!

 

搞到树莓派的IP地址

因为这2种解决办法,都需要通过网络访问树莓派,所以一切的前提是,我们要先搞到树莓派的IP地址。

我们先看,你的树莓派有外接显示屏的情况。

【有显示屏】

此时,直接在终端用ifconfig命令,查询IP地址即可:

这里连接的是WIFI,所以看wlan0--192.168.0.4。

如果把WIFI断开呢,就像下面这样了,看不到wlan0。

那如果我给树莓派插上网线嘞?

再运行ifconfig,可以看到eth0--192.168.0.5,这里我们可以知道:

a. 有线网卡对应eth0接口;无线网卡,也就是WIFI,对应wlan0接口;

b. 上面两次的IP地址不一样,是变化的,是动态分配的,这个对于我们想通过IP地址访问树莓派并不友好。

那么我们最好把树莓派的IP地址固定下来,每次都访问这个IP地址。

 

【固定IP地址】

vim /etc/dhcpcd.conf

在文件的末尾增加如下内容,我这里固定IP地址为:192.168.0.5

interface eth0
static ip_address=192.168.0.5/24
static routers=192.168.0.1
static domain_name_servers=114.114.114.114 114.114.114.115
noipv6
static domain_search=

interface wlan0
static ip_address=192.168.0.5/24
static routers=192.168.0.1
static domain_name_servers=114.114.114.114 114.114.114.115
noipv6 
static domain_search=

保存并退出,然后我们重启下树莓派,再用ifconfig看下,IP地址没错,是192.168.0.5。

再检查下,能不能正常上网,打开浏览器试试。

嗯,木有问题!!!

 

那如果你的树莓派没有外接显示器,或者你安装的系统是轻量级不带图形界面的,你无法像上面那样在终端输入ifconfig命令,那要怎么查询IP地址腻?

【无显示屏】

这种情况,我们就要用到局域网内联网设备扫描工具,我的战神是Win10系统,所以推荐一款Windows下的工具ipscan.exe,见于文首百度网盘下载链接。

安装并运行ipscan.exe,可以看到如下界面,点击“扫描”,等待若干分钟。

可以看到,扫描到了一个名称为“raspberrypi”,IP地址为“192.168.0.5”的联网设备,这个就是我们要找的了。

如果你安装的是轻量级不带图形界面的系统,并且连接的有线网络,即使没有固定IP,用这个ipscan工具,也可以很方便查询到IP地址。

其他操作系统平台也有类似ipscan这样的工具,需要的童鞋可以参考——IP Address

 

SSH远程上树莓派

关于SSH,我们先看下百度百科的介绍:

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。

通俗的说,SSH就是为远程登录管理而生,安全可靠!

Windows SSH客户端软件有SecureCRT、Xshell、Putty、Secure Shell Client等等,在这里我还是推荐我自己觉得很好用且一直在用的SSH客户端软件——Xshell,见于文首百度网盘下载链接。当然你也可以去官网购买正版——www.xshellcn.com。

Xmanager是一款小巧、便捷的浏览远端X窗口系统的工具包,其中包含了Xbrowser、Xftp、Xlpd、Xshell、Xstart等。

下载、安装、破解后,桌面会有个【Xmanager Enterprise 4】文件夹,双击打开其中的Xshell。

 

【开始SSH登录操作】

打开Xshell之后界面如下,点击“新建”图标,我们新建一个会话配置。

在弹出的窗口中我们看到,默认展示的是类别树中“连接”的内容,协议默认是SSH,我们把名称、主机填上。

然后点击类别树中的“用户身份验证”,把树莓派的用户名和登录密码填上,点击“确定”。默认用户名是pi,默认登录密码是raspberry,在《用树莓派做点什么》-001-树莓派4B尝鲜中刷机时你应该设置过自己的登录密码。

 接着我们就看到下面这个会话列表,选择“我的树莓派”,点击“连接”。

 “Could not connect to '192.168.0.5' (port 22) : Connection failed.”

这是为什么呢?

这是因为,树莓派图形桌面系统默认不打开SSH服务。

那我们来看下如何开启树莓派的SSH服务,还是分情况讨论,有显示屏、无显示屏。

 

【有显示屏】

在树莓派桌面的开始菜单中,找到“Raspberry Pi Configuration”,打开后点击“Interfaces”选项卡,就可以看到SSH的使能选项。

点击“Enable”,接着点击“OK”,就开启SSH服务啦!

 

当然你也可以在raspi-config中配置,过程如下:

sudo raspi-config

这里选择“是”,回车确认。

这样就完成了在raspi-config中开启SSH服务,此时你可以再打开“Raspberry Pi Configuration”看下。

这里也“Enable”了,也就是这两种方法是相通的、等效的,你喜欢哪种就用哪种方法。接下来我们看下,如果你的树莓派没有外接显示器和键盘,要怎么开启SSH服务嘞?

 

【无显示屏】

没有显示屏的情况下,开启SSH服务的方法其实也很简单。

先把树莓派关机,拔出TF卡,这个过程要小心,特别是安装了外壳时,树莓派的TF卡槽不是弹出式的,所以要用两个手指尖把TF卡夹着,拔出来。接着把TF卡插入读卡器,怼到电脑上,会识别到一个名称为“boot”的盘(此时电脑如果提示你格式化U盘,千万不要格式化!!!),打开“boot”盘,在里面新建一个名为“ssh”(小写字母)的文件,注意文件名不能有后缀,文件里面的的内容不重要,如下图所示。

然后弹出TF卡,再把TF卡插回树莓派,上电开机,开机过程中系统会扫描检测“boot”分区是否有“ssh”文件,如果有就会开启SSH服务。

 

【继续SSH登录操作】

当我的树莓派已经开启了SSH服务,并且它的固定IP地址是“192.168.0.5”,那么继续在Xshell上面,点击“重新连接”。

如下图所示,我已经成功登录了我的树莓派,可以看到我Home目录的文件夹。

 接下来我们可以调整下Xshell的终端界面风格,比如可以选择黑底白字,或者白底黑字。

 然后树莓派是Linux家族的操作系统,我们把语言设置为UTF-8,更好的兼容中文显示。

 当然终端字符的字体和字号,你不习惯可以调整为自己喜欢的,我一般会把字号改成14或者16,否则看起来太费神了。

 

到此为止,我就可以在我的战神上面使用Xshell,远程登录我的树莓派,进行一些命令、脚本操作,如果你熟悉vim编辑器,基本上在Xshell上面写代码、调试,也没有什么问题。

但是如果你还没有熟悉终端命令行和vim编辑器,那么你还是更希望可以直接在自己的工作电脑上,像QQ远程协助、或者TeamViewer远程控制一样,直接可以操作树莓派的桌面,使用树莓派上的各种软件,那就请继续往下看!

 

 

远程桌面上树莓派

说到远程桌面控制,就要提到VNC了。

VNC (Virtual Network Console)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。

首先要确认我们的树莓派系统中安装了vncserver:

sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

提示已经是最新版本了,也就是我的树莓派系统已经安装了vncserver和vncviewer,接着我们要启用vncserver服务。

可以在“Raspberry Pi Configuration”中配置:

也可以在命令行终端配置:

sudo raspi-config

 

注意此时,桌面右上角的状态栏,多了VNC的图标,意味着我们已经成功开启了VNC服务。可以双击图标,可以看到此VNC服务对应的IP地址及签名信息。

 

接下来,回到我的战神笔记本电脑,我需要一个vncviewer软件来远程登录控制树莓派,见于文首百度网盘下载链接。

或者你也可以访问RealVNC官网,有各种五花八门系统平台的vncserver和vncviewer可供下载,总有一个满足你。

 

下载、安装、打开:

上面的输入框中提示:请输入VNC服务的IP地址

输入“192.168.0.5”,然后回车,就开始Connecting了。

 点击“Continue”。

输入树莓派的用户名和登录密码,勾选“记住密码” ,点击“OK”。

 稍等一会儿,我就在我的战神上,看到了我树莓派的桌面,VNC Server那个属性框还在那里,此时我就可以用鼠标、键盘操作树莓派了。

 点击VNC Server属性框右上角那个绿色的勾勾,可以看到当前VNC Server有多少个Connections,意思就是有多少个viewer在远程控制此树莓派。

 然后我把远程控制窗口关闭,回到VNC Viewer的主窗口,可以看到这里已经保存了我刚刚访问的“192.168.0.5”这个VNC Server,这就可以方便下次再连接访问树莓派。

 右键-->属性(Properties)

 在选项(Options)中,可以选择你看到的树莓派桌面的画面质量,就像你在爱奇艺上看视频时,可以选择720P、1080P、蓝光高清,一般都是默认“自动适配(Automatic)”,也就是根据你的实际网速自动调整画面质量,在局域网内远程访问时网速都支持最高质量,而如果你是在外网远程访问你的树莓派时就看你的网速了。那么如何在外网远程登录控制树莓派嘞?

用过TeamViewer的童鞋都熟悉,就是注册个账号,然后vncserver和vncviewer同时登录账号就可以了,下面简述下步骤流程。

 

【云连接 Cloud Connection】

RealVNC官网用邮箱注册账号,然后会看到下面的界面,我们就是个人用途,非商业用途,点击下面的“激活(Activate)”。

下一步会让你捐钱(打赏),现在没钱就选择不捐喽,下次有钱了再捐。

 

 

注册完成,马上去树莓派的VNC-Server上面登录账号密码,同时在我的战神VNC-Viewer上登录刚才的账号密码,界面就发生如下变化,有了一个Lawrence's Team,里面会显示登录了此账号的所有VNC Server,双击“raspeberry pi”,发起登录请求。

在此,我特地用我的手机共享热点,给我的战神,试试外网访问是啥子情况,效果如下,确实分辨率低一些,没有那么清晰。

至此,VNC远程登录控制树莓派,就圆满完成了!

 

 

 

以上是关于《用树莓派做点什么》-006-远程登录树莓派的主要内容,如果未能解决你的问题,请参考以下文章

《用树莓派做点什么》-006-远程登录树莓派

《用树莓派做点什么》-001-树莓派4B尝鲜

《用树莓派做点什么》-002-树莓派截图工具

《用树莓派做点什么》-002-树莓派截图工具

《用树莓派做点什么》-002-树莓派截图工具

《用树莓派做点什么》-003-查看树莓派基本信息