我正在尝试让 openssh 在 android 手机上运行。当我尝试登录时,它拒绝接受我的密钥。以下是调试日志的相关行:
debug1: attempt 1 failures 0
debug2: input_userauth_request: try method publickey
debug2: userauth_pubkey: disabled because of invalid user
Strace 显示它根本没有查找该.ssh/authorized_keys
文件。所以问题是如何使 root 用户有效。
我已经创建了/etc/passwd
适当的 root 用户条目,但没用。我没有在 sshd 的 strace 输出中看到任何其他相关文件读取。
答案1
找到了! /etc/passwd 不正确:root 的 shell 错误。以下是 strace 输出中显示该错误的一行:
[pid 30439] stat64("/bin/sh", 0xbefb0f10) = -1 ENOENT (No such file or directory)
(也许这不是一个答案......)
答案2
这也可能是由其他因素导致用户无效所致。
对我来说,这是AllowGroups
我内心的一个限制/etc/ssh/sshd_config
请记住在更新该文件后重新启动 SSH 守护程序。