嵌入式linux使用dropbear及遇到的密匙登录失败问题
- Can run from inetd or standalone
- 服务程序:
dropbear
(类似于Openssh的sshd) - 客户程序:
dbclinet
(累世于Openssh的ssh) - 密钥生成程序:
dropbearkey
dropbearkey -t rsa -f
- 配置文件目录:
/etc/dropbear
(不可修改) - 修改配置文件目录:
/etc/default/dropbear
- 注意:dropbear使用
pam
的验证方式,编译busybox时需要选择Login/Password Management Utilities --->[*] Support for PAM
- 必须的库:
/lib/libnss_\*, /lib/libpam\*,/lib/security/\*
- RSA公匙认证和openssh的方法兼容,即:把openssh生成的
id_rsa.pub
放到~/.ssh/authorized_keys
- 错误处理:添加
rsa—key
到authorized_keys
之后依然无法连接ssh,查看/var/log/messages
提示/root must be owned by user or root, and not writable by others
,猜测是因为/etc/default/rcS
中的SULOGIN=no
,经验证发现不是这个原因。后又搜索到和/root
以及/root/.ssh
和/root/.ssh/authorized_keys
有关,但是一一修改成正确的权限之后(700, 700 ,600),错误照旧,后来偶然发现/root
的owner,试了一下,果然有效,修改前为
drwx------ 4 501 dialout 4.0K Jul 26 17:38 root
修改后
drwx------ 4 root dialout 4.0K Jul 26 17:38 root
总结:这个错误提示和.ssh
权限无关,和/root
的权限和owner有关,/root
的group和other不能有write权限,owner必须为root