使用SSH密钥进行身份验证,并在CentOS 7上通过密码和身份验证


0

我看到可以使用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 创建了一个publicprivatekey(SSH-2 RSA, 2048 bits with passphrase)。

在CentOS上~/.ssh/authorized_keys,当我是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
请检查syslog / systemd文件。这通常与权限有关。
Yorick de Wid 2016年

在/ var / log / secure中我也看到key_read: key_from_blob \n failed,我使用了可粘贴的公钥,但我在ssh-rsa之后和hash之后放置了一个enter。那是不允许的?
Jeroen Steen 2016年

1
整个字符串必须在一行,是的
Yorick de Wid 2016年

Answers:


2

您可能希望尝试chmod 700使用该.ssh/目录,因为SSH配置只能由用户自己访问。此外,用户是.ssh/目录和文件的所有者吗?(chown -R <user>: .ssh/)。

Kudo为了让本届会议开放,人们常常忘记这一点并将自己锁定。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.