【盈鹏飞嵌入式I.MX6UL工控开发板试用体验】+ ssh移植

  • 527409667@qq.co
  • LV4工程师
  • |      2017-08-09 11:35:55
  • 浏览量 1503
  • 回复:1
本帖最后由 527409667@qq.com 于 2017-8-10 10:36 编辑 开发板到手也有一段时间了,上电后发现板子上没有ssh,那么今天我们就来移植一下,方便以后开发。 这里使用4.6.2版本的gcc进行编译。不要使用4.9.2版本会出现-sh. Not found程序无法执行。 1、先现在需要的openssh源文件,openssh,openssl,zlib。地址连接: openssh : http://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz openssl : https://www.openssl.org/source/openssl-1.0.2l.tar.gz zlib : http://www.zlib.net/zlib-1.2.11.tar.gz 2、建立编译目录 mkdir /home/saber/Workspace/app/evb-p6ul/sshwork 将下载好文件放在该目录下面。 创建编译用到的库文件目录mkdir /home/saber/Workspace/app/evb-p6ul/sshwork/lib 添加交叉编译工具到环境变量 export PATH=$PATH:~/Workspace/toolchains/evb-p6ul/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/ 3、编译zlib 解压zlib,然后进入解压好的目录。 ./configure --prefix=/home/saber/Workspace/app/evb-p6ul/sshwork/lib 修改MakefileCC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar rc CPP =arm-none-linux-gnueabi-gcc -E LDSHARED=arm-none-linux-gnueabi-gcc 编译 $make $make install 4、编译openssl $ cd sshwork/openssl-1.0.2l/ $ ./Configure --prefix=~/Workspace/app/evb-p6ul/sshwork/openssl-1.0.2l os/compiler:arm-none-linux-gnueabi-gcc $make $make install5、编译openssh $cd ~/Workspace/app/evb-p6ul/sshwork/openssh-7.5p1 $./configure --host=arm-none-linux-gnueabi --with-libs --with-zlib=~/Workspace/app/evb-p6ul/sshwork/lib/zlib-1.2.11 --with-ssl-dir=~/Workspace/app/evb-p6ul/sshwork/lib/openssl-1.0.2l --disable-etc-default-login CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar $make5、接下来进行安装 创建目录 mkdir sshwork/install mkdir sshwork/install/usr/local/bin mkdir sshwork/install/usr/local/sbin mkdir sshwork/install/usr/local/etc mkdir sshwork/install/usr/local/libexec 从openssh-7.5p1目录下复制scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan到sshwork/usr/local/bin moduli ssh_config sshd_config拷贝到 /usr/local/etc sftp-server ssh-keysign 拷贝到 /usr/local/libexec sshd 拷贝到 /usr/local/sbin/6、生成key文件 在/work/ssh/source/openssh-7.5p1/ 目录下运行: ssh-keygen -t rsa -f ssh_host_rsa_key -N "" ssh-keygen -t dsa -f ssh_host_dsa_key -N "" ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N "" ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N "" 将生成的key复制到sshwork/install/usr/local/etc 7、将install里面的文件复制到开发板,相应目录下,并在etc/passwd中添加:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin(如果有无需在添加) 然后运行/usr/local/sbin/sshd开启ssh服务。 8、问题解决: a、出现: Permissions 0777 for '/etc/ssh/ssh_host_key' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: /etc/ssh/ssh_host_key Could not load host key: /etc/ssh/ssh_host_key 解决 #chmod 600 sshd_config ssh_host_dsa_key ssh_host_key ssh_host_rsa_key #chmod 620 moduli #chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub b、登录是出现密码失效,要求重新更改密码修改/etc/shadow文件:
root:JYFkAUsR29Q9w:15695:5:99999:7:5:20000:

sshd:!!:11851:5:99999:7:5:20000:

honey:$1$SwtHyL/h$MsEX6Vnqz/qhwDsivDqD20:15695:5:99999:7:5:20000:
接下来就可以使用root登录了!!!
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:2
沧沧沧沧 2019-04-12
原来还可以这样移植啊
0   回复
举报
发布
0c5153641791200 2018-07-25
您好,我想了解下yocto自带ssh啊,怎么不用yocto呢? 我现在用yocto,一半很好用,一般很难受。比如,一个yocto的发行版里面,qt版本是固定的,要改成另一个版本,就不知道咋改了,webengine出支持不好,有黑块。 我的意思是,yocto是有哪些坑吗,导致大家包括很多高手不用它?
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子