我正在尝试在我的远程服务器上设置一个新用户。
我创建了一个具有 sudo 访问权限的新用户。
adduser username
usermod -aG sudo username
Run Code Online (Sandbox Code Playgroud)
然后在/etc/ssh/sshd_config
文件中我允许该用户 ssh 访问。
AllowUsers username root
Run Code Online (Sandbox Code Playgroud)
我重新启动了 ssh。
service sshd reload
Run Code Online (Sandbox Code Playgroud)
最后,我以用户身份登录并将我的公共 ssh 密钥复制到~/.ssh/authorized_keys
文件中。
但是Permission denied (publickey)
当我尝试以该用户身份 ssh 时,我仍然得到了。
ssh username@mydomain.com
Run Code Online (Sandbox Code Playgroud)
我能够以 root 用户身份 ssh 没有问题。
ssh root@mydomain.com
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
小智 10
从SSH 标签维基:
故障排除
如果公钥身份验证不起作用:确保在服务器端,您的主目录 (~)、~/.ssh 目录和 ~/.ssh/authorized_keys 文件都只能由其所有者写入。特别是,它们中的任何一个都不能被组写入(即使用户在组中是单独的)。chmod 755 或 chmod 700 可以,chmod 770 不行。
出现问题时要检查的内容:
- 运行 ssh -vvv 可以看到很多调试输出。如果您发布了一个问题,询问为什么您无法使用 ssh 连接,请包含此输出(您可能希望对主机名和用户名进行匿名化)。
- 如果可以,请检查服务器日志,通常在 /var/log/daemon.log 或 /var/log/auth.log 或类似文件中。
- 如果公钥身份验证不起作用,请再次检查权限,尤其是组位(见上文)。
归档时间: |
|
查看次数: |
54280 次 |
最近记录: |