我看到可以使用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 创建了一个public
和private
key(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密码进行身份验证?
key_read: key_from_blob \n failed
,我使用了可粘贴的公钥,但我在ssh-rsa之后和hash之后放置了一个enter。那是不允许的?