交叉编译轻量级Dropbear SSH

    技术2022-07-11  80

    交叉编译轻量级Dropbear SSH

    使用版本静态编译zlib-1.2.11 编译dropbear-2020.80 编译 使用

    使用版本

    dropbear-2020.80.tar.bz2 zlib-1.2.11.tar.gz

    编译器为 Xilinx SDK 2017.4 软件版本的中带的编译器

    静态编译

    zlib-1.2.11 编译

    解压压缩包,进入 zlib-1.2.11 目录,对其进行编译前的配置:

    prefix=/mnt/hgfs/openssh/zlib_install/ CC=arm-linux-gnueabihf-gcc CFLAGS="-static -fPIC" ./configure

    然后 make 即可编译完成,而后 make install 将其安装在上面配置的 prefix 文件夹。

    dropbear-2020.80 编译

    解压压缩包,进入 dropbear-2020.80 目录,对其进行编译前的配置:

    ./configure --prefix=/mnt/hgfs/openssh/dropbear_install --with-zlib=/mnt/hgfs/openssh/zlib_install CC=arm-linux-gnueabihf-gcc --host=arm --enable-static

    然后 make 即可编译完成,而后 make install 将其安装在上面配置的 prefix 文件夹。

    这样就编译完了,全程没有任何问题产生,比 openssh 编译简单多了。

    使用

    将 dropbear_install 安装目录下的 文件都复制到嵌入式系统文件系统的 /usr/ 下,dropbear_install/bin下文件复制到 /usr/bin目录下,dropbear_install/sbin下文件复制到 /usr/sbin 目录下。

    在文件系统的 /etc目录下新建 dropbear 目录(只能是 dropbear 这个名称 ),使用 dropbearkey 命令生成密钥

    dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key

    从私钥中提出公钥

    dropbearkey -y -f dropbear_rsa_host_key | grep "^ssh-rsa " >> authorized_keys

    设置 root 用户密码,运行 dropbear 即可。

    若要使用 scp 登录,需要强制编译,在源码目录使用 make scp 编译出 scp,将其放在文件系统的 /usr/bin 目录下即可,这样就能使用 winscp 软件上传与下载文件了。

    若要使用SFTP登录,需要使用 openssh 编译出的 sftp-server 放置在 /usr/libexec 目录下,这样就能使用 winscp 软件上传与下载文件了,功能同 scp (openssh 编译可查看上篇文章)。

    相关参考: https://www.cnblogs.com/Jimmy1988/p/9060826.html https://www.systutorials.com/docs/linux/man/1-dropbearkey/

    Processed: 0.011, SQL: 9