在 CentOS 7 上使用带有密码和身份验证密码的 SSH 密钥进行身份验证

在 CentOS 7 上使用带有密码和身份验证密码的 SSH 密钥进行身份验证

我发现可以使用 SSH 密钥(带密码)和密码进行身份验证:https://security.stackexchange.com/questions/17931/possible-to-use-both-private-key-and-password-authentication-for-ssh-login 我有一个 CentOS 7 远程 VPS 和一台 Windows 本地机器。

我在 Windows 机器上使用 PuTTYgen创建了一个publicprivate键 ( )。SSH-2 RSA, 2048 bits with passphrase

~/.ssh/authorized_keys在 CentOS 上,当我是 root 用户时, 我将可粘贴的公钥添加到。我还更改了文件夹的权限,如下所示:sudo chmod g-w ~/ && sudo chmod 755 ~/.ssh && sudo chmod 600 ~/.ssh/authorized_keys

然后我改成/etc/ssh/sshd_config

Protocol 2

PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication yes

AuthorizedKeysFile %h/.ssh/authorized_keys
AuthenticationMethods "publickey,password"

我使用 重新启动了 SSH 服务器sudo systemctl restart sshd.service。我没有关闭这台 Windows 本地机器上的 Putty。

我想在另一台 Windows 机器上检查它是否有效。我将私有 ppk 文件添加到 Pageant,并将其指向 Putty 中的该文件。但是当我尝试打开连接时,Putty 给出了以下错误消息:

"disconnected no supported authentication methods available server sent publickey".

可能存在什么问题,如何使用 SSH 密钥(带有密码)和 root 密码进​​行身份验证?

答案1

你可能想尝试一下chmod 700目录.ssh/,因为 SSH 配置应该仅有的用户自己可以访问。另外,用户是否是.ssh/目录和文件的所有者?(chown -R <user>: .ssh/)。

Kudo 表示要保持当前会话打开,但人们经常会忘记这一点并将自己锁在外面。

相关内容