简介:linux开发板在调试过程中,我们需要在开发板系统内进行某些操作时,可以为开发板接上显示器、鼠标、键盘直接操作,如果开发板不支持接外设或者不方便接外设,尤其是做为小车等机器人主控的开发板在移动过程中,这是绝对不可行的,所以我们需要通过网络远程登录开发板系统进行操作,下面我们介绍一下远程登录的方法以及一些常用操作。

一、SSH 远程登录

        SSH 为 Secure Shell 的缩写,是一套专为远程登录会话和其他网络服务提供安全性的协议,所有Linux平台都支持SSH协议。

        在windows系统下,可通过右键开始图标打开windows终端,也有叫Power Shell终端的,实际就是windows系统下的命令行工具,输入:ssh 用户名@远程主机IP(也可以用主机名),以我现在手边的小车为例,用户名duckie,密码quackquack,主机名duckiebot1,IP地址是192.168.2.35,所以远程连接命令有以下两种写法:

ssh duckie@192.168.2.35

ssh duckie@duckiebot1

注1:Linux系统下通过主机名远程需要在主机名后加.local,即为:ssh duckie@duckiebot1.local

初次登录系统会提示是否继续连接,输入yes,然后输入密码即可(密码不显示,盲输)

        注2:windows下连接时可能出现密钥不匹配无法连接的情况,这是因为在之前有连接过相同用户名和地址的主机,需要清理一下SSH的主机连接缓存,缓存文件地址C:\Users\{用户名}\.ssh\known_hosts,用记事本打开全部删除即可。


二、修改无线网络配置(ubuntu系统)

        有时候我们可能需要将开发板带离实验室,在另一个地方使用,这就需要重新配置开发板的无线网络连接,如果新的网络环境方便接网线,就可以在新环境中给开发板连接网线后配置,如果新环境有线连接不方便,就需要在实验室内通过无线远程登录主机去修改。

远程登录开发板后:

$ sudo vim /etc/wpa_supplicant.conf #这里可以用任意命令行文本编辑工具,我以vim为例

注:一定要加sudo,否则编辑后会无法保存

文件内容大致如下图格式:

        我们可以直接修改network内的ssid和psk对应的值,但是这会导致无法连接原有网络,所以建议再新加一个网络配置(vim编辑器,按 i 键启动编辑模式,方向键控制光标移动):

       这样开发板会自动连接在范围内的无线,修改后保存(vim编辑器,保存需要先按ESC退出编辑模式,然后输入:wq+回车,保存修改并退出)。


三、远程拷贝

        当我们需要远程上传或者下载一些文件时,可以使用SSH的远程拷贝命令 scp,使用方式如下:

1、上传本地文件到服务器

scp /path/filename username@servername:/path/

例如:scp /var/www/test.php root@192.168.0.101:/var/www/

把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

2、从服务器上下载文件

scp username@servername:/path/filename /var/www/local_dir(本地目录)

例如:scp root@192.168.0.101:/var/www/test.txt

把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)

3、从服务器下载整个目录

scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)

例如:scp -r root@192.168.0.101:/var/www/test /var/www/

4、上传目录到服务器

scp -r local_dir username@servername:remote_dir

例如:scp -r test root@192.168.0.101:/var/www/

把当前目录下的test目录上传到服务器的/var/www/ 目录