sshd移植笔记

1.下载需要的源码
下载zlib: zlib-1.2.11.tar.gz       http://www.zlib.net
下载ssl : openssl-1.0.2s.tar.gz    http://www.openssl.org/source/
下载ssh : openssh-8.0p1.tar.gz     http://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/

2.在/home/srbn/Desktop/下新建目录ssh_work,复制源码到目录下
        mkdir ssh_work
        cd ssh_work
        拷贝下载好的三个文件到ssh_work
        新建用于保存生成的库文件的目录lib
        mkdir /home/Desktop/ssh_work/lib

3.编译zlib
        tar zxvf zlib-1.2.11.tar.gz -C .
        cd zlib-1.2.11/
        ./configure -prefix=/home/Desktop/ssh_work/lib/zlib-1.2.11
        vim Makefile
        CC=gcc 改为 CC=arm-linux-gnueabihf-gcc
        LDSHARED= gcc 改为 LDSHARED=arm-linux-gnueabihf-gcc
        CPP= gcc - E  改为 CPP=arm-linux-gnueabihf-gcc - E
        AR= ar     改为 AR=arm-linux-gnueabihf-ar
        make
        make install

4.编译openssl
        tar zxvf openssl-1.0.2s.tar.gz

        ./Configure --prefix=/home/Desktop/ssh_work/lib/openssl-1.0.2s os/compiler:gcc -fPIC(一定要加-fPIC)
        make
        make install

5.编译openssh
        tar zxvf openssh-8.0p1.tar.gz
        cd openssh-8.0p1/
        ./configure -host=arm-linux -with-libs -with-zlib=/home/srbn/Desktop/ssh_work/lib/zlib-1.2.11 -with-ssl-dir=/home/srbn/Desktop/ssh_work/lib/openssl-1.0.2s -disable-etc-default-login CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar
        make
        不要make install
6.保证系统有以下目录,如果没有,则mkdir
        /usr/sbin
        /usr/local/bin
        /usr/local/libexec
        /usr/local/etc/

7.在 openssh-8.0p1 目录下创建 usr bin 目录,文件临时拷贝到这里,然后统一打包到开发板
        cd openssh-8.0p1
        mkdir -p usr/sbin
        mkdir -p usr/local/bin
        mkdir -p usr/local/libexec
        mkdir -p usr/local/etc
        #sshd的工作目录
        mkdir -p var/run
        mkdir -p var/empty/sshd

8.将 openssh-4.6p1目录下的 sshd 拷贝到 目标板的 /usr/sbin 目录下
        cp sshd ./usr/sbin
9.将 copy scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 到目标板/usr/local/bin目录下
        cp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan ./usr/local/bin
10.将 sshd_config ssh_config 拷贝到 /usr/local/etc/ 目录下
        cp sshd_config ssh_config ./usr/local/etc
11.将 sftp-server  ssh-keysign 到 /usr/local/libexec
        cp sftp-server  ssh-keysign ./usr/local/libexec
12.在主机上生成密钥
        ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
        ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
        ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
        ssh-keygen -t dsa -f ssh_host_ed25519_key
13.将生成的 ssh_host_*_key这3个文件copy到./usr/local/etc/目录下
        cp ssh_host_* ./usr/local/etc/
14.复制文件到rc224_fs文件系统
        复制当前生成的文件
        cp -r usr/ ......./rc224_fs/
        复制所需要的库
        cp libz.so.1 libz.so.1.2.8 /rc224_fs/lib/arm-linux-gnueabihf/
15.在rc224_fs文件系统bin目录下创建软连接
        cd rc224_fs/bin/
        ln -sf ../usr/local/bin/scp
        ln -sf ../usr/local/bin/sftp
        ln -sf ../usr/local/bin/ssh
        ln -sf ../usr/local/bin/ssh-add
        ln -sf ../usr/local/bin/ssh-agent
        ln -sf ../usr/local/bin/ssh-keygen
        ln -sf ../usr/local/bin/ssh-keyscan
16.启动开发板,添加用户
        touch /etc/group
        mkdir -p /home/sshd
        adduser sshd
        passwd root 为root用户设置密码
17.允许用户登录
        vi /usr/local/sshd_config
        找到有PermitRootLogin那一行改为PermitRootLogin yes 并去掉#
18.测试
        开发板 /usr/sbin/sshd
        ps 可以看到 /usr/sbin/sshd

19.裁剪

        系统起来后,在不进行添加用户,修改秘钥的情况下,可以删除/usr/local/bin目录下的ssh-add ssh-agent ssh-keygen ssh-keyscan ,以及./usr/local/libexec 下的ssh-keysign。其他的斟酌裁剪吧,如果错误或者建议的地方,欢迎大家指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值