linux内核编译支持ssh,Embeded linux之移植ssh

一、源码包下载:

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 ""

948e9ee97c0fc87a2dd20bd331f8ceda.png

ssh-keygen -t dsa -f ssh_host_dsa_key -N ""

08dbbafe938732b7cfd5cd62bb0a2feb.png

ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""

2c5f59e82828143047b82b9d1b5eae89.png

ssh-keygen -t dsa -f ssh_host_ed25519_key -N ""

9ff5e22595913c79af6a9b5083311171.png

chmod 600 ssh_host_ed25519_key

4f6d8b81ded5497cf4cd2abc97913d0d.png

cp ssh_host_*/opt/filesystem/imx6/rootfs/usr/local/etc/

0f16993fb771eb235f10bff595a5e0f9.png

七、修改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

八、软件远程登录

1e87179191fa1849754b8edef7992b40.png

如果出现

找不到匹配的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

问题出现在由于配置时使用了相对路径,改为绝对路径就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值