交叉编译轻量级Dropbear SSH

交叉编译轻量级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 编译简单多了。

使用

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

  2. 在文件系统的 /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
  1. 设置 root 用户密码,运行 dropbear 即可。

  2. 若要使用 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/

你可能感兴趣的:(linux,zynq,嵌入式,linux)