我使用 root 用户通过 SSH 连接到我的 DigitalOcean droplet(Linux CentOS 服务器)。它运行良好,没有任何问题。但是当我尝试通过第二个非 root 用户连接到我的服务器时,它给出了一个错误:
权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic)。
这是我为第二个用户设置访问权限的步骤:
adduser seconduser
- 在服务器上创建第二个用户(新用户的名称与我本地 Mac 上的用户的名称相同)sudo su - seconduser
- 切换到新用户cd ~
- 转到主目录mkdir .ssh
- 创建新的.sshchmod 700 .ssh
- 为目录设置 rwe 权限touch .ssh/authorized_keys
- 创建文件chmod 600 .ssh/authorized_keys
- 设置打开密钥文件的读写权限cat .ssh/id_rsa.pub
- 从我的本地 Mac 复制我的打开密钥vim .ssh/authorized_keys
- 将其粘贴到服务器上的文件中
然后我尝试连接,如下所示:
这给了我一个错误。
我尝试通过将 ssh 文件夹从 home\ 更改为 etc\ 来解决此问题,就像在这个答案中一样:https://ubuntuforums.org/showthread.php?t=1932058但没有帮助。
我还仔细检查了我的打开密钥(它是相同的并且 root 正在使用此密钥)。
我还检查了本地 Mac 上文件和目录的权限:~/.ssh/id_* 权限为 600
我还检查了 /etc/ssh/sshd_config 文件。其中有:
RSAAuthentication yes
PubkeyAuthentication yes
那么,我做错了什么?这已经是我第二天遇到这个问题了。请帮忙!