查看: 1140|回复: 0

[教程] 移植ssh服务

[复制链接]
  • TA的每日心情
    奋斗
    2021-12-3 10:17
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2019-8-8 17:28:54 | 显示全部楼层 |阅读模式
    分享到:

    我下载的版本为:
    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登录(略)

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-13 03:08 , Processed in 0.131709 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.