SSH 错误:没有可用的受支持的身份验证方法(服务器发送了公钥)

SSH 错误:没有可用的受支持的身份验证方法(服务器发送了公钥)

在 Google GCP 上的 Ubuntu 16.04 系统上,我需要创建一个新用户并允许其他用户使用他们当前的 SSH 密钥hello以用户身份通过​​ SSH 访问系统。hello

以下是我将我的 SSH 公钥添加到 的hello步骤authorized_keys

sudo useradd -m hello -s /bin/bash
sudo mkdir /home/hello/.ssh
sudo chown hello:hello -R /home/hello
sudo chmod 777 /home/hello/.ssh
sudo cat ~/.ssh/authorized_keys >> /home/hello/.ssh/authorized_keys
sudo chmod 700 /home/hello/.ssh/
sudo chmod 600 /home/hello/.ssh/authorized_keys

问题:当我尝试以用户身份通过​​ SSH 连接到服务器时hello,出现错误

已断开连接:没有可用的受支持的身份验证方法(服务器发送了公钥)

/var/log/auth.log包含

11 月 4 日 17:37:05 你好 sshd[27298]: 错误:已从 174.63.124.9 端口 62346:14 断开连接:没有可用的受支持的身份验证方法 [preauth] 11 月 4 日 17:37:05 你好 sshd[27298]: 已从 174.63.124.9 端口 62346 断开连接 [preauth]

出了什么问题?谢谢!

答案1

您需要在文件创建后更改其所有者authorized_keys,因为它将归运行脚本的用户所有。

将其作为最后一行添加到脚本中即可解决问题。

sudo chown hello:hello /home/hello/.ssh/authorized_keys

答案2

也许在服务器站点中这个用户“hello”被列入了黑名单

尝试这个:

grep **AllowUsers** /etc/ssh/sshd_config

或这个:

grep **DenyUsers** /etc/ssh/sshd_config

AllowGroups也尝试与团体一起尝试 DenyGroups

答案3

检查 /home 目录权限。它应该是

  • drwxr-xr-x. 9 root root 113 Jun 28 22:57 home

然后是你的主目录详细信息:

  • drwxr----- 5 user group 124 May 18 17:00 User drwx------ 2 user group 29 May 18 12:05 .ssh -rw------- 1 user group 2235 Jun 28 23:09 authorized_keys



日志中的错误消息

/var/log/auth.log> sshd[22565]: 错误: 收到来自 XXXX 的断开连接: 14: 没有可用的受支持的身份验证方法 [preauth]

在客户端

ssh [email protected] Permission denied (publickey). ssh -vvv [email protected] ... debug2: we did not send a packet, disable method debug1: No more authentication methods to try. Permission denied (publickey).
在服务器端

  • service sshd stop

  • 运行 sshd 调试模式:

  • /usr/sbin/sshd -ddd

    ... debug1: trying public key file /home/USER/.ssh/authorized_keys debug1: Could not open authorized keys '/home/USER/.ssh/authorized_keys': Permission denied ...

相关内容