迅为i.MX6ULL终结者移植ssh服务安装测试
发布时间:2021-3-22 11:22
发布者:落风
关键词:
IMX6ULL开发板
文章目录 1 基本文件的安装 2 生成 Key 文件,并安装 3 修改目标板密钥文件 4 测试 1 基本文件的安装 在文件系统busybox上新建“/usr/libexec“、“/usr/local/etc ”、“/usr/local/bin ”三个目录,使用命令“mkdir -p /usr/libexec /usr/local/etc /usr/local/bin”,如图 1.1所示。 ![]() 在虚拟机 Ubuntu 上,将 openssh-6.6p1 下的生成“scp 、sftp、ssh、sshd、ssh- add、ssh-agent、ssh-keygen、ssh-keyscan”可执行文件拷贝到文件系统“/usr/local/bin”目录下,拷贝完成,如图 1.2所示。 ![]() 将“moduli、ssh_config、sshd_config”拷贝到开发板的“/usr/local/etc”目录下, 拷贝完成,如图 1.3所示。 ![]() 将“sftp-server、ssh-keysign”拷贝到开发板的“/usr/libexec”目录下,拷贝完成, 如图 1.4所示。 ![]() 2 生成 Key 文件,并安装 使用“ssh-keygen”生成个四个 key 文件“ssh_host_rsa_key”“ssh_host_dsa_key” “ssh_host_ecdsa_key”和“ssh_host_ed25519_key”。 ① 在虚拟机 Ubuntu 控制台,“/home/topeet/project/ssh-arm/openssh-4.6p1”目录下,使用命令“ssh-keygen -t rsa -f ssh_host_rsa_key -N ""”,可以生成“ssh_host_rsa_key ”文件 ② 接着使用剩下的三条命令: ssh-keygen -t dsa -f ssh_host_dsa_key -N "" ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N "" ssh-keygen -t dsa -f ssh_host_ed25519_key -N "" 执行完成之后,将生成的“ssh_host_rsa_key”“ssh_host_dsa_key”“ssh_host_ecdsa_key”和 “ssh_host_ed25519_key”文件,拷贝到文件系统的“/usr/local/etc/”目录下,然后将其权限 修改为 600,如下图所示。 ![]() ![]() 3 修改目标板密钥文件 在文件系统中,使用命令“vi /etc/passwd”,打开 ssh 密钥文件,在 “/etc/passwd”文件底行添加以下内容: sshd:x:74:74 ![]() SSH:/var/empty/sshd:/sbin/nologin 添加完成之后,如下图所示,然后保存,密钥文件修改完成。 ![]() 4 测试 作者的开发板链接路由器,PC 机的 Windows 系统也是链接路由器,所以首先要确保开发板和 PC 机是可以 Ping 通的,也就是设置在同一网段,修改文件系统的/etc/eth0-setting文件。 作者的 PC 的 IP 为:192.168.123.224,如图 4.1所示。 ![]() 开发板的 IP 为:192.168.123.150,/etc/eth0-setting文件已经修改过。 将文件系统打包,烧写到开发板上 使用 ping 命令测试,如图 4.2所示,网络通畅,另外按键“Ctrl”+c 可以结束 ping 动作 ![]() ![]() 接着在开发板上新建 root 账户,如图 4.4所示,使用命令“passwd root”,它会提示输 入密码,需要重复输入两次以防输错。 ![]() 然后在开发板上运行 sshd 二进制文件,使用命令“/usr/local/bin/sshd”,提示如图 4.5 ![]() 再去Ubuntu查看下ssh可执行文件,file sshd ![]() 在串口控制台输入 ln -sv /lib/ld-2.19-2014.08-1-git.so /lib/ld-linux.so.3 建立软链接,如图 4.7所示: ![]() 然后使用工具 ssh 测试是否和 PC 联通能否正常通信,如图 75.3.4.8所示,使用命令 “/usr/local/bin/ssh 192.168.123.224”,这里的 IP 是作者 PC 的 IP。 ![]() 控制台输入“/usr/local/bin/sshd”虽然报错了,但是不影响使用。如果提示缺少动态库,前面的库文件如果拷贝不全,可能出现这种问题,如果用户使用迅为电子的根文件系统,经过测试各种文件都拷贝没有错误,一般是不会提示缺少什么库的。 ![]() 接着在 PC 上使用 ssh 工具连接开发板,使用方法和连接 Ubuntu 上的 ssh 类似,如图 4.10所示。 ![]() ![]() 然后传一个文件测试下,如图 4.12所示。 ![]() 说明成功完成了文件传输移植工作。 ssh 控制台也是可以使用的,登陆方法和 PC 连接虚拟机 Ubuntu 的 ssh 一 样。 另外在安装部分,也可以将其拷贝到文件系统的源码中对应目录,重新打包编译,生成直接支持 ssh 的镜像。 到这里,部分用户可能会有疑惑,第一个人是如何知道 ssh 需要这两个库文件的呢?首先,开发 ssh 软件的大神,做了这个东西会提供编译和使用 demo,这样就有了基础的英文移植文档,然后慢慢的会有中文版的,接着 ssh 流传开了之后,通过网络搜索 ssh 移植到 arm的方法的文档和博客,就随处可见了。 当然,假如将来大家工作有移植的需求,找不到中文教程,需要直接使用某个开源软件的 demo,首先就需要英文过关,然后还需要有移植的基础知识。在编译的过程中,它会提示缺少各种库,通过编译,也是可以一步一步找出依赖库的。 ![]() |
网友评论