完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
移植ssh到开发板主要是将开发板当成服务器,电脑端可以作为客户端进行访问,从而实现通过网线就可以进行文件的传输以及控制台控制。
移植ssh主要包含三大部分:1. zlib的移植; 2. openssl的移植; 3. openssh的移植 因此需要下载对应的源代码才能进行交叉编译。 zlib官网:http://www.zlib.net/fossils/ openssl官网:https://www.openssl.org/source/old/ openssh官网:http://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/ 这里下载了zlib-1.2.1.2.tar.gz openssl-1.0.2p.tar.gz openssh-5.6p1.tar.gz (这里版本的选择建议大家可以先选择下载openssh的一个版本,解压openssh后进入文件夹查看INSTALL文档,里面有对zlib和openssl版本要求等的相关描述,可以根据其描述下载对应的版本,,如下图) 创建相关目录,方便管理 创建arm_ssh文件夹:mkdir arm_ssh 进入arm_ssh并创建lib文件夹:cd arm_ssh mkdir lib 将下载好的zlib openssl openssh压缩包复制到arm_ssh文件夹中并解压 tar -xzvf openssh-5.6p1.tar.gz tar -xzvf openssl-1.0.2p.tar.gz tar -xzvf zlib-1.2.1.2.tar.gz 解压后目录如下: zlib的移植 进入zlib-1.2.1.2目录:cd zlib-1.2.1.2 生成Makefile:./configure --prefix=/home/sen/arm_ssh/lib/zlib-1.2.1.2 -prefix指定安装目录,若zlib-1.2.1.2没有创建会自动创建 修改生成的Makefile, 主要将编译器改为arm平台的:vim Makefile 这里修改下图划红线的地方 编译:make 安装:make install openssl的移植 进入openssl目录:cd openssl-1.0.2p 生成Makefile文件:./Configure linux-elf-arm -DB_ENDIAN linux:‘arm-linux-gcc’ --prefix=/home/sen/arm_ssh/lib/openssl-1.0.2p 编译:make 安装:make install openssh的移植 进入openssh目录:cd openssh-5.6p1 生成Makefile文件:./configure --host=arm-linux --with-libs --with-zlib=/home/sen/arm_ssh/lib/zlib-1.2.1.2 --with-ssl-dir=/home/sen/arm_ssh/lib/openssl-1.0.2p --disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar 编译:make 运行到这一步,就可以在openssh文件夹中找到移植需要的“scp ,sftp ,ssh,sshd,ssh-add,ssh-agent,ssh-keygen,ssh-keyscan”文件。 生成key文件 进入openssh目录:cd openssh-5.6p1 生成ssh_host_rsa_key文件:ssh-keygen -t rsa -f ssh_host_rsa_key -N “” 生成ssh_host_dsa_key文件:ssh-keygen -t dsa -f ssh_host_dsa_key -N “” 生成ssh_host_ecdsa_key文件:ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N “” 生成ssh_host_ed25519_key文件:ssh-keygen -t dsa -f ssh_host_ed25519_key -N “” 开发板的安装 在开发板上新建“/usr/libexec“,“/usr/local/etc ”,“/usr/local/bin ”三个目录:mkdir -p /usr/libexec /usr/local/etc /usr/local/bin 将openssh生成的“scp ,sftp ,ssh,sshd,ssh-add,ssh-agent,ssh-keygen,ssh-keyscan”文件拷贝到开发板中的 /usr/local/bin中 将openssh目录下的“ssh_host_rsa_key,ssh_host_dsa_key,ssh_host_ecdsa_key,ssh_host_ed25519_key,moduli,ssh_config,sshd_config”拷贝到开发板的“/usr/local/etc”目录,并将“ssh_host_rsa_key,ssh_host_dsa_key,ssh_host_ecdsa_key,ssh_host_ed25519_key”权限改为600(不改权限后面运行不了) 将“sftp-server、ssh-keysign”拷贝到开发的“/usr/libexec”目录 修改开发板密钥: 在开发板串口控制台中,使用命令“vi /etc/passwd”,打开 ssh 秘钥文件,在/etc/passwd文件底行添加以下内容: sshd: x:74:74:Privilege-separated SSH:/var/empty/sshd:/***in/nologin (注:确保文件夹路径有效) 测试 首先开发板要能ping通虚拟机 这里虚拟机IP为192.168.13.59,开发板IP为192.168.13.60 如果开发板root用户没密码,须设置密码:passwd root 在开发板运行:/usr/local/bin/sshd 测试时这里会提示缺少libnsl.so.1这个动态库,可在虚拟机的arm编译器安装位置找到该库并复制到开发板的/lib目录下。 查看是否已经运行:ps 若成功运行,则在虚拟机上输入ssh root@192.168.13.60即可实现远程登录开发板 |
|
|
|
只有小组成员才能发言,加入小组>>
2555 浏览 0 评论
1155浏览 2评论
758浏览 1评论
509浏览 0评论
270浏览 0评论
446浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 22:04 , Processed in 1.349586 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号