我使用的是 CentOS 6.5。使用公钥 (id_rsa) 和使用密码(尝试公钥后)的 SSH 身份验证均失败。当我尝试连接到远程节点(具有相同的主目录 - nfs 共享)或本地主机时,就会发生这种情况。另一方面,SSH 身份验证和无密码登录可以从 root 帐户正常工作(可以通过 ssh 往返删除节点)。
当我以用户身份登录时,详细模式首先显示公钥已发送,但它永远不会被接受,然后选择密码身份验证方法。然而,即使是密码方法也不起作用。我提示输入密码三次,但都失败。如果我尝试创建一个全新的用户,则会重复同样的问题。
以下是一些失败的命令(删除节点和本地主机):
ssh -v user@n100
ssh -v user@m0
ssh -v user@localhost
ssh -v [email protected]
为什么 SSH 无法通过用户帐户运行?
答案1
不,你做错了,不要等待 ssh 循环来匹配你的运气,直接提供它:
ssh密码验证:
~# ssh root@server -o PreferredAuthentications=password
测试了一下,我的服务器返回了权限被拒绝(公钥),它只接受公钥(所以我不需要一个选项来指定):
~# ssh root@server -i /home/abdullah/.ssh/server_key
由于我的服务器密钥位于我的主目录(在 .ssh 文件夹中)并且我当前以 root 身份登录,因此我必须使用选项“[-i Identity_file]”指定该密钥。
但我的密钥已加密,我收到消息:
Enter passphrase for key '/home/abdullah/.ssh/server_key':