我尝试与我的网络托管提供商的 Linux 服务器建立 SSH 连接。使用 PuTTY Release 0.74 Build 平台时收到以下错误:64 位 x86 Windows:“没有可用的受支持的身份验证方法(服务器发送:publickey、gssapi-keyex、gssapi-with-mic)”
- 这是我做的:
- 生成公钥-私钥对
- 将 public_key 提供给提供商
- 在“会话”中插入服务器的 IP 地址和端口
- 在“连接 -> SSH -> Auth”中插入我本地保存的私钥的路径
- 保存整个配置
最后,如果我加载配置并尝试打开连接,我会收到上述错误消息。
答案1
我不能肯定地说这是否能解决所有问题,而且对于公钥尚未输入到authorised_keys
服务器文件中的情况,这肯定不是解决方案。
我将 PuTTY 更新到最新版本,然后登录就可以了。因此,如果您遇到问题,请尝试从https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
答案2
您必须将公钥复制到 ~/.ssh/authorized_keys 或确保您的云提供商这样做。我在此处用 Google Cloud 的屏幕截图记录了这一点:https://www.bingehacking.net/2022/01/putty-no-supported-authentication.html
答案3
当公共身份验证未正确配置时或当服务器不允许身份验证时,此错误将被视为错误。这里有一些您可以尝试的解决方案:
验证公共密钥的身份验证配置:验证您用来验证的公共密钥对应的私人密钥,这些密钥存在于 CentOS 服务器上的 ~/.ssh/authorized_keys 文件中。如果当前没有公共区域,您需要添加手册。
验证文件权限:从 CentOS 服务器,验证 ~/.ssh 目录和 ~/.ssh/authorized_keys 文件的权限。 .ssh 目录具有 700 个权限 (drwx------),authorized_keys 文件具有 600 个权限 (-rw-------)。如果权限不正确,您可以使用 chmod 700 ~/.ssh 和 chmod 600 ~/.ssh/authorized_keys 命令进行更正。
重置 SSH 服务:在某些情况下,在 CentOS 服务器上重置 SSH 服务可以帮助解决问题。您可以使用该命令或 sudo systemctl restart sshd。
验证 SSH 服务器配置:验证 CentOS 服务器上的 SSH 服务器配置文件 (/etc/ssh/sshd_config)。证书定义了 PasswordAuthentication 选项,以便能够验证您的密码。如果发现配置文件中的某些更改,请继续使用 sudo systemctl restart sshd 重新启动 SSH 服务。
使用正确的身份验证方法:如果您使用公开的身份验证,请确保在 Putty 中选择正确的选项以指定相应的私有身份验证。另请验证的是,私钥未正确格式化(通常为 PEM 格式)。
希望这些解决方案能够帮助 Putty 解决 CentOS 身份验证问题。