如何创建具有 ssh 访问权限的新用户?

Chr*_*ing 4 ssh ubuntu

我正在尝试在我的远程服务器上设置一个新用户。

我创建了一个具有 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 或类似文件中。
  • 如果公钥身份验证不起作用,请再次检查权限,尤其是组位(见上文)。