明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 3786|回复: 1

移植ssh服务到EK200--zlib-openssl-openssh

[复制链接]

89

主题

226

帖子

1099

积分

超级版主

Rank: 8Rank: 8

积分
1099
发表于 2019-8-7 14:34:29 | 显示全部楼层 |阅读模式
本帖最后由 myzr_soft 于 2019-12-18 10:02 编辑

主机平台: UBUNTU14.04
硬件平台:明远智睿MY-IMX6-EK200-6Q-1G
内核版本 :linux-4.1.15
交叉编译链:arm-poky-linux-gnueabi
文件系统:L4115-core-image-base-myimx6a9.tar.bz2

下载:
opensslhttps://www.openssl.org/source/openssl-1.0.2s.tar.gz
我下载的版本为:
zlib-1.2.11.tar.gz
openssl-1.0.2s.tar.gz
openssh-5.9p1.tar.gz

$ cd
$ mkdir ssh
$ cd ssh
$ mkdir compressed source install
将源码包移动到/home/myzr/ssh/compressed/:
$ mv /home/myzr/openssh-5.9p1.tar.gz /home/myzr/ssh/compressed/
$ mv /home/myzr/openssl-1.0.2s.tar.gz /home/myzr/ssh/compressed/
$ mv /home/myzr/zlib-1.2.11.tar.gz /home/myzr/ssh/compressed/
$ cd /home/myzr/ssh/compressed/
解压源码到source目录:
$ tar xzvf zlib-1.2.11.tar.gz -C ../source/
$ tar xzvf openssl-1.0.2s.tar.gz -C ../source/
$ tar xzvf openssh-5.9p1.tar.gz -C ../source/
source交叉工具链:
$ source /home/myzr/my-work/03_toolchain/fsl-imx-fb-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
zlib编译:
$ cd /home/myzr/ssh/source/zlib-1.2.11/
$ ./configure --prefix=/home/myzr/ssh/install/zlib
$ make
$ make install
openssl编译:
$ cd /home/myzr/ssh/source/openssl-1.0.2s/
$ ./Configure --prefix=/home/myzr/ssh/install/openssl/ os/compiler:arm-poky-linux-gnueabi-gcc
$ vi Makefile
  将CC= $(CROSS_COMPILE)arm-poky-linux-gnueabi-gcc  
  修改为CC= arm-poky-linux-gnueabi-gcc
$ make
$ make install
编译openssh:
$ cd /home/myzr/ssh/source/openssh-5.9p1/
$ ./configure --host=arm-poky-linux-gnueabi --with-libs --with-zlib=/home/myzr/ssh/install/zlib --with-ssl-dir=/home/myzr/ssh/install/openssl --disable-etc-default-login AR=arm-poky-linux-gnueabi-ar
$ make

若出现error:arm-poky-linux-gnueabi-ld: unrecognized option '-Wl,-O1'
# vi Makefile
将        141-175行中的$(LD) 改为$(CC)
即 $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHLIBS) $(LIBS)
到 $(LD) -o $@ logintest.o $(LDFLAGS) loginrec.o -lopenbsd-compat -lssh $(LIBS)
中所有的$(LD) 改为$(CC)
如:$(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHLIBS) $(LIBS)
改为$(CC) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHLIBS) $(LIBS)
$ make
在开发板上执行:
mkdir /usr/local/sbin/
mkdir /usr/local/etc/
mkdir /usr/local/libexec/

/home/myzr/ssh/source/openssh-5.9p1/下的:
   scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan
这些文件拷贝到开发板的 /usr/local/bin目录
   moduli ssh_config sshd_config
拷贝到开发板的 /usr/local/etc 目录
   sftp-server ssh-keysign
拷贝到开发板的 /usr/local/libexec  目录
   sshd
拷贝到开发板的 /usr/local/sbin/ 目录
生成Key文件,在虚拟机上操作
$ 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 ""
$ mkdir key
$ cp ssh_host_*_key key
$ cd key
key中的文件拷贝到开发板的 /usr/local/etc/ 目录
# vi /etc/passwd
开发板 /etc/passwd 中添加下面这一行

sshd:x:74:74rivilege-separated SSH:/var/empty/sshd:/sbin/nologin
将所有的都复制到开发板相应的目录后,在开发板执行:
# chmod 0 /usr/local/etc/ssh_host_*
执行sshd:
# /usr/local/sbin/sshd
设置root密码
# passwd root
使用ssh登录(略)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-3-29 22:11 , Processed in 0.059899 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表