开源库交叉编译(四)--- OpenSSH

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

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

源码:openssh-9.0.tar.gz

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

Step 1:解压源码

tar -xvzf openssh-9.0p1.tar.gz

cd openssh-9.0p1/

Step 2:配置

./configure --host=aarch64-linux-gnu --prefix=/ --with-libs  \
--with-zlib=/home/xxx/share/3rdparty/zlib-1.2.13/arm_zlib  \
--with-ssl-dir=/home/xxx/share/3rdparty/openssl-1.1.1s/arm_openssl  \
--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 打开,如下

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

3)在板端生成 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 ""

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

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值