当前位置:   article > 正文

开源库交叉编译(四)--- OpenSSH_openssh代码库

openssh代码库

官网:https://www.openssh.com/

下载:http://www.openssh.com/portable.html#ftp

源码:openssh-9.0.tar.gz

OpenSSH 依赖 zlib 和 OpenSSL ,需先交叉编译 zlibOpenSSL

Step 1:解压源码

  1. tar -xvzf openssh-9.0p1.tar.gz
  2. cd openssh-9.0p1/

Step 2:配置

  1. ./configure --host=aarch64-linux-gnu --prefix=/ --with-libs  \
  2. --with-zlib=/home/xxx/share/3rdparty/zlib-1.2.13/arm_zlib  \
  3. --with-ssl-dir=/home/xxx/share/3rdparty/openssl-1.1.1s/arm_openssl  \
  4. --disable-etc-default-login CC=aarch64-linux-gnu-gcc AR=aarch64-linux-gnu-ar

注意:安装路径的设置,建议安装到根目录,方便后面板端部署。

Step 3:编译

make

注意:上一步设置的安装目录是根目录,这里交叉编译完后不要安装,避免将编译主机的 OpenSSH 覆盖掉。

Step 4:板端部署

1)将 OpenSSH 编译生成的可以执行文件放到板端根文件系统 /usr/bin/ 下

cp sshd scp sftp sftp-server ssh ssh-add ssh-agent ssh-keygen ssh-keyscan ssh-keysign ssh-pkcs11-helper ssh-sk-helper /home/xxx/share/rootfs/usr/bin/

2)将 OpenSSH 的配置文件放到板端根文件系统 /etc 下

cp ssh_config sshd_config /home/xxx/share/rootfs/etc/

如果需要用 root 用户 SSH 登录,修改 sshd_config,将 PermitRootLogin yes 打开,如下

  1. #LoginGraceTime 2m
  2. #PermitRootLogin prohibit-password
  3. PermitRootLogin yes
  4. #StrictModes yes
  5. #MaxAuthTries 6
  6. #MaxSessions 10

3)在板端生成 key

  1. ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
  2. ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
  3. ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
  4. ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N ""

将生成的 key 拷贝到 /etc 下,注意生成的 key 的权限需改为600

4)将 SSH 服务添加到自启动脚本

在启动脚本 /etc/init.d/rcS 添加启动 SSH 服务的命令

/usr/bin/sshd &

Step 5:测试体验

SSH 登陆

ssh -p 62022 root@192.168.1.109

SCP 传输文件

从远端拷贝文件到本机:

scp -P 62022 root@192.168.1.139:/home/wang/share/test.txt /home/xxx/share/nfs/

从本机拷贝文件到远端:

scp -r -P 62022 video_test root@192.168.1.139:/home/xxx/share

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/841890
推荐阅读
相关标签
  

闽ICP备14008679号