7:58:31.180: git -c core.quotepath=false fetch origin --progress
--prune
java.io.IOException: Authentication failed: at
org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:298) at
org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:172) at
org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:137) Caused by:
java.io.IOException: Publickey authentication failed. at
com.trilead.ssh2.auth.AuthenticationManager.authenticatePublicKey(AuthenticationManager.java:262)
at
com.trilead.ssh2.Connection.authenticateWithPublicKey(Connection.java:443)
at org.jetbrains.git4idea.ssh.SSHMain.tryPublicKey(SSHMain.java:352)
at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:231)
... 2 more Caused by: java.io.IOException: Invalid PEM structure,
'-----BEGIN...' missing at
com.trilead.ssh2.crypto.PEMDecoder.parsePEM(PEMDecoder.java:138) at
com.trilead.ssh2.crypto.PEMDecoder.decode(PEMDecoder.java:313) at
com.trilead.ssh2.auth.AuthenticationManager.authenticatePublicKey(AuthenticationManager.java:171)
... 5 more fatal: Could not read from remote repository. Please make
sure you have the correct access rights and the repository exists.
blockquote>
因此,我用Google搜索并找到了各种方法,并尝试了所有方法,但都发现没有一种方法对我有用。
我尝试了以下方式:
1)删除存储在Windows凭据管理器中的凭据
2)在Intellij IDEA 14上更改远程存储库凭据(身份验证)
3)Git凭证助手-更新密码
等等。还有其他想法可以解决此问题,以便Intellij在我获取/克隆我的仓库之前会问我凭据吗?
从Windows凭据管理器中删除后,您是否尝试过重新启动intellij?
@vmrvictor,是的,我做到了。 我什至重启了机器,但没有用:(
您是否使用了更新的git版本?
@ Pervez,我正在使用git版本2.20.1.windows.1
直到三天前它都工作正常,在更改Windows密码后问题开始了。
您是否已生成一对ssh密钥并将公用密钥添加到远程托管服务?
是的,我愿意。 我什至重新生成并添加了它。
顺便说一句,我曾经有一个类似的问题,尽管使用了有效的密钥,但问题是我的密钥浪费了,名为id_rsa,bur而不是bitbucket_id_rsa,而IntelliJ正在寻找名称为id_rsa的密钥。
TL; DR更新到最新版本(2018.3或更高版本),默认情况下使用本机SSH,并且如果一切都在终端中正常运行,则应在IDE中运行。
下面是更详细的答案:
Git凭证帮助程序可用于基于HTTP的连接。根据错误判断,您正在使用SSH,因此不涉及凭据帮助程序,因此围绕它的任何操作都将无济于事。
该错误消息也属于IntelliJ内置SSH客户端,原因是使用的ssh-key错误或密钥格式不受支持-并且已知内置客户端不支持新的OpenSSH密钥格式-请参阅https:// youtrack。 jetbrains.com/issue/IDEA-151116
解决方案是将IDE配置为使用本机SSH,实际上,这是告诉git使用系统默认的SSH客户端,或者告诉GitForWindows捆绑使用的客户端。本机SSH应该支持使用的密钥格式。
在2018.3之前,IntelliJ无法处理用于密码短语或主机验证的交互式提示,因此必须使用ssh-agent。从2018.3开始,IntelliJ可以处理这些提示,并且本机SSH是默认设置。因此,更新应该解决该问题,如果它是密钥格式或内置SSH客户端不支持的某些特定.ssh配置。
配置本机SSH时遇到了其他一些问题,但是将git版本降级到2.17.0已解决了该问题。
配置本机SSH时遇到了其他一些问题,但是将git版本从2.20.1降级到2.17.0已解决了该问题。