使用scp遇到的ssh问题

本文记录了一位工程师在没有sshd的嵌入式设备上手动安装和运行sshd的过程。首先通过网络或串口将sshd拷贝到板子的/usr/bin目录,然后解决了权限问题、执行路径问题、缺少配置文件和主机密钥问题,以及库文件缺失问题。在解决libz.so.1库问题时,尝试拷贝库文件到/lib/目录,但修改LD_LIBRARY_PATH未生效。最终成功启动sshd,并能够使用scp命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天拿到一个板子,想从公司的服务器上scp文件到板子上,结果发现板子上没有sshd(ssh 的守护进程),于是就想着手动安装,因为相同平台的其他板子上有sshd,所以没有手动编译安装sshd的过程,网上有很多这样的教程。这里列举遇到的问题:

1,拷贝sshd

设备有串口有网络,所以用挂载的方式,将其他地方准备好的sshd拷贝到板子上,存放在目录:/usr/bin

2, 无法启动 - 问题1

cd 到目录/usr/bin下,执行 ./sshd & 时,出现错误:privilege separation user sshd does not exist,网上搜索一番,修改/etc/passwd,在最后添加一行:sshd:x:74:74:Privilege-separated SSH:/usr/bin/sshd:/sbin/nologin,其中/usr/bin/sshd是sshd存放的路径,其他未进行深入了解。

3,无法启动 - 问题2

经过上面第2步的设备,继续执行:./sshd &,结果提示:sshd re-exec requires execution with an absolute path

 网上查到sshd运行需要绝对路径,可以参考:为什么sshd需要绝对路径?

4,无法启动 - 问题3

当执行: /usr/bin/sshd 还是有问题,提示:usr/local/etc/sshd_config: No such file or directory,这可能不是普遍问题,因为我这个sshd是从别的板子上拷贝过来的,可以这个sshd定制过的,访问了文件/usr/local/etc/sshd_config。没关系中需要找一个sshd_config配置方的即可。

5,无法启动 - 问题4

错误提示:sshd: no hostkeys available -- exiting

解决办法:ssh-keygen -A ,这个过程会比较慢,慢慢等。

经过以上几个步骤,最终/usr/bin/sshd & 在后台运行起来了。

6,最后一步scp

问题是找不到库libz.so.1,串口登录上去查看/usr/lib/目录下,有这个库的,但看了一下/lib/目录下,确实没有libz相关库,于是直接拷贝/usr/lib/libz* 到/lib/下,网上有说修改LD_LIBRARY_PATH,添加libz.so.1的路径,但我实际操作无效不知为何,有知道原因的同学欢迎@我。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值