一、源码包下载:
zlib官方下载:http://www.zlib.net/
openssl官方下载:http://www.openssl.org/source
openssh官网下载:http://www.openssh.com/portable.html
本文运用版别:
zlib-1.2.3
openssl-0.9.8l
openssh-7.1p2
下面链接有已上传的装备好的源码包
http://files.cnblogs.com/files/pokerface/zlib-1.2.3.tar.gz
http://files.cnblogs.com/files/pokerface/openssl-0.9.8l.tar.gz
http://files.cnblogs.com/files/pokerface/openssh-7.1p2.tar.gz
二、创立作业目录
装置途径:/opt/ssh/install/
源码途径:/opt/ssh/source/
压缩包途径:/opt/ssh/tmp/
三、编译装置zlib
1.修正Makefile :
添加CROSS=arm–linux–
CC=gcc 改为 CC=$(CROSS)gcc
保证 LDSHARED=CC
保证 CPP=CC – E
AR= ar rc 改为 AR=$(CROSS) ar rc
prefix = /opt/ssh/install/
2.编译:
make
3.装置:
make install
四、编译装置openssl
1.装备
./Configure –prefix=/opt/ssh/install/openssl os/compiler:arm-linux-gcc
2.编译
make
3.装置
make install
五、编译openssh
1.装备
./configure –host=arm-linux –with-libs –with-zlib=/opt/ssh/install/zlib-1.2.3/ –with-ssl-dir=/opt/ssh/install/openssl-0.9.8/ –disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar
2.编译
make
3.将生成软件放到方针板对应目录
cp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan /opt/filesystem/imx6/rootfs/usr/local/bin/
cp moduli ssh_config sshd_config /opt/filesystem/imx6/rootfs/usr/local/
cp moduli ssh_config sshd_config /opt/filesystem/imx6/rootfs/usr/local/etc/
cp sftp-server ssh-keysign /opt/filesystem/imx6/rootfs/usr/libexec/
cp sshd /opt/filesystem/imx6/rootfs/usr/sbin/
chmod 777 /opt/filesystem/imx6/rootfs/usr/local/bin/*
chmod 777 /opt/filesystem/imx6/rootfs/usr/sbin/*
六、生成密钥文件
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 dsa -f ssh_host_ed25519_key -N “”
chmod 600 ssh_host_ed25519_key
cp ssh_host_* /opt/filesystem/imx6/rootfs/usr/local/etc/
七、修正ssh装备文件
1. /usr/local/sshd_config,将PermitRootLogin yes前的注释“#”号去掉。
2. /etc/passwd 文件,在最终添加下面这一行:
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
3.假如开发板的 root 用户还没有暗码,键入以下指令然输入两次暗码来修正,否其他设备无法连:
passwd root
4.将sshd参加开机启动项
修正/etc/init.d/rcS添加/usr/sbin/sshd
八、软件长途登录
假如呈现
找不到匹配的outgoing encryption算法
问题呈现在xshell版别太低,没有相应加密算法,更换新的就行了,我用的xshell5,xshell3就不支撑最新sshd加密
POD document had syntax errors at /usr/bin/pod2man line 71.
问题呈现在因为OpenSSL 1.0.1e 与 perl5.18 不兼容,删去 pod2man文件:sudo rm /usr/bin/pod2man
cp: cannot create regular file ‘openssl/include/openssl/crypto.h’: No such file or directory
问题呈现在因为装备时运用了相对途径,改为绝对途径就可以了