无法使用密钥身份验证 ssh 到服务器

Posted

技术标签:

【中文标题】无法使用密钥身份验证 ssh 到服务器【英文标题】:Can't ssh to server using keys authentication 【发布时间】:2016-12-11 03:56:42 【问题描述】:

几天以来,我一直在使用 phpseclib 库(Branch 2.0) 创建 ssh 密钥,就像我之前所做的一样。将公钥复制到我的服务器,从而在没有使用密码....但由于某种原因,我不能再像这样连接了。当我使用$ssh->getLastError() 报告错误时,它显示:

SSH_MSG_USERAUTH_FAILURE:公钥、密码

有谁知道可能是什么问题?

【问题讨论】:

您是否正确复制了密钥?错误消息基本上只是说“身份验证失败”。 键错了,不知什么原因,不确定我们能不能帮上大忙。 好吧,我使用库生成了密钥对,然后将公钥复制到服务器上的 authorized_keys 文件中。所以我不知道会发生什么变化......我可以在代码中调用任何其他调用来提供更具体的错误消息吗? 如果您以其他方式生成密钥(例如使用 OpenSSH),是否有效? 实际上奇怪的是,如果我从终端生成密钥对并将公钥发送到服务器,当我 ssh 进入服务器时,我仍然会提示输入密码 【参考方案1】:

确保将您的私钥添加到服务器上的authorized_keys。没有它,你总是会得到这个错误。更具体地说,就我而言,它是:

SSH_MSG_USERAUTH_FAILURE: 公钥,gssapi-keyex,gssapi-with-mic,密码

【讨论】:

以上是关于无法使用密钥身份验证 ssh 到服务器的主要内容,如果未能解决你的问题,请参考以下文章

SSH 密钥身份验证成功后,SSH 和 SCP 命令无法执行并显示错误消息:Win32 错误 1114

使用 PuTTY 进行身份验证时,“无法使用密钥文件“...\id_rsa”(OpenSSH SSH-2 私钥)”[关闭]

无法通过 Git for Windows 使用/调试 SSH 身份验证

禁用 SSH 的密码身份验证无法按预期工作 Ubuntu 14.04 LTS

如何使用带有密码的 SSH 密钥身份验证“去获取”私有存储库

没有密码但密钥身份验证安全的Mysql服务器?