迅为IMX6ULL开发环境搭建详解-搭建SSH服务
基于迅为-IMX6ULL开发板
不论是进行 SDK 程序开发还是进行 Linux 系统开发,我们都需要先搭建好开发环境,如果我们有学过单片机(51、STM32 等)开发我们需要在 windows 下安装 MDK、串口调试助手这些工具,这些就是单片机的开发环境。同样我们进行 i.MX6ULL 的开发也需要安装相应的一些软件,安装的这些软件就是我们所说的开发环境。开发环境分为 Ubuntu 和 Windows,我们使用 Windows 进行代码的编写,查看原理图、芯片手册等资料,使用串口调试工具查看发开板的串口输出灯功能,我们使用 Ubuntu 主要是完成代码的编译(安装交叉编译器)。所以本章我们分别在 Ubuntu 和 Windows 下搭建开发需要的环境。
1 4.1 搭建 SSH 服务 服务
开发的过程中我们会经常在 Windows 和 Ubuntu 系统之间进行文件的传输,比如我们在Windows 下编辑好代码,然后把代码放到 Ubuntu 系统下编译,生成最终镜像,然后在把镜像传回 Windows 下,进项烧写。为了实现 Windows 和 Ubuntu 直接文件的互传,我们需要在 Ubuntu 上安装 SSH 服务,在前面 Ubuntu的章节我们讲过 Ubuntu 下通过“apt-get install”命令安装软件,首先我们打开终端,在终端输入“sudo apt-getinstall openssh-server”,输入登录 Ubuntu 用户的密码,然后输入“y”确认安装,如图 4.1.1 所示:
安装完成以后,我们需要对 ssh 进行配置,否则我们使用 ssh 客户端(Windows 下的工具,后面会将安装使用)连接 Ubuntu 的时候会提示错误,如图 4.1.2 所示:
出现这个登录问题的原因是我们使用的 Ubuntu 系统版本是 16.04.6,安装的 ssh 软件版本升级了,为了安全,默认不再采用原来的一些加密算法,需要手动添加一些配置。首先在终端使用“sudo vi /etc/ssh/sshd_config”命令打开 ssh 的配置文件,如图 4.1.3 所示:
然后在文件的末尾添加三条配置信息:
首先输入第一条(可以复制粘贴到 Ubuntu 的终端)
Cipher saes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
然后按键盘的回车按键,换行,在输入第二条(可以复制粘贴到 Ubuntu 的终端):
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96
最后按键盘的回车按键,换行,在输入第三条(可以复制粘贴到 Ubuntu 的终端):
KexAlgorithms
diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
( 注意第三条的信息由于 word 软件对文本显示的原因 , 给我们的感觉是有三行 , 实际上是一行),第三条
信息的正确输入描述如图 4. 1.4 所示:
修改后的“/etc/ssh_ssshd_config”配置文件,如图 4.1.5 所示:
然后保存并退出,默认 ssh 不允许 root 用户登录,所以我们还需要打开配置文件“/etc/ssh_ssshd_config”,
找到“PermitRootLogin prohibit-password”修改成“PermitRootLogin yes”,如图 4.1.6 所示:
然后保存并退出,然后在终端输入“/etc/init.d/ssh restart”命令,重新启动 ssh 服务,会弹出“授权对话框”,
输入登录 Ubuntu 的用户密码,然后点击“授权”按钮,确认重启 ssh 服务,如图 4.1.7 所示:
至此关于 ssh 服务器的配置我们就完成了。