我正在尝试在远程服务器上设置新用户。
我创建了一个具有 sudo 访问权限的新用户。
adduser username
usermod -aG sudo username
然后在/etc/ssh/sshd_config
文件中我允许该用户进行 ssh 访问。
AllowUsers username root
然后我重新启动了 ssh。
service sshd reload
最后,我以用户身份登录并将我的公共 ssh 密钥复制到~/.ssh/authorized_keys
文件中。
Permission denied (publickey)
但当我尝试以该用户身份进行 ssh 时,我仍然会遇到这种情况。
ssh [email protected]
我能够以 root 用户身份进行 ssh,没有任何问题。
ssh [email protected]
我错过了什么吗?
答案1
来自SSH 标签维基:
故障排除
如果公钥身份验证不起作用:请确保在服务器端,您的主目录 (~)、~/.ssh 目录和 ~/.ssh/authorized_keys 文件都只能由其所有者写入。特别是,它们中的任何一个都不能被组写入(即使该用户单独在组中)。 chmod 755 或 chmod 700 可以,chmod 770 不行。
出现问题时应检查哪些内容:
- 运行 ssh -vvv 可以看到大量调试输出。如果您发布问题询问为什么无法使用 ssh 连接,请包含此输出(您可能想要匿名主机名和用户名)。
- 如果可以,请检查服务器日志,通常位于 /var/log/daemon.log 或 /var/log/auth.log 或类似位置。
- 如果公钥身份验证不起作用,请再次检查权限,尤其是组位(参见上文)。