wax5798 2022-03-04 22:54 采纳率: 90.9%
浏览 274
已结题

busybox 配置 dropbear 的问题

问题遇到的现象和发生背景

最近需要构建一个基于 busybox 的嵌入式 rootfs,而且需要能够 ssh 登录。所以决定采用 dropbear

但是现在遇到的问题是,dropbear 启动之后,从 PC ssh 登录,提示“Permission denied, please try again”

最初是怀疑密码设置错误,我尝试修改密码和添加用户,问题依然存在

问题相关代码,请勿粘贴截图

下面是嵌入式设备的输出

Please press Enter to activate this console. [    8.287749] macb ff0e0000.ethernet eth0: link up (1000/Full)
[    8.293431] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   10.983708] random: fast init done

/ # 
/ # passwd root                                        #  设置 root 的密码,防止 ssh 登录的时候密码不一致
Changing password for root
New password: 
Retype password: 
passwd: password for root changed by root
/ # 
/ # dropbear -F -E -p 2222                     # 启动 dropbear
[1890] Jan 01 12:35:03 Failed loading /etc/dropbear/dropbear_ecdsa_host_key
[1890] Jan 01 12:35:03 Failed loading /etc/dropbear/dropbear_ed25519_host_key
[1890] Jan 01 12:35:03 Not backgrounding
[1891] Jan 01 12:35:23 Child connection from 192.168.8.1:50397
[1891] Jan 01 12:35:23 Login attempt for nonexistent user              # 提示没有此用户?
[1891] Jan 01 12:35:30 Exit before auth from <192.168.8.1:50397>: Exited normally

下面是 PC 登录的输出

osrc@osrc-virtual-machine:~$ ssh -p 2222 root@192.168.8.35
root@192.168.8.35's password:                                       # 输入密码
Permission denied, please try again.                               # 提示错误
root@192.168.8.35's password: 
Permission denied, please try again.
root@192.168.8.35's password:
我想要达到的结果

是我的配置问题吗?有没有熟悉 dropbear 的朋友帮忙看一下呢

  • 写回答

3条回答 默认 最新

  • wax5798 2022-03-05 02:27
    关注

    跟进发现是 getpwnam 返回错误。错误原因有二: 1、getpwnam 需要依赖 /etc/passwd 和 /etc/nsswitch.conf 文件,由于后者缺失,导致失败;2、getpwnam 函数静态编译会有问题,因为为了方便,我的 rootfs 中没有添加动态库,dropbear 是静态编译的
    解决办法:1、添加 /etc/passwd 和 /etc/nsswitch.conf 文件;2、rootfs 中添加动态库,并动态编译 dropbear

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 创建了问题 3月4日