首页 > 解决方案 > EGit:执行失败(SignatureException):签名编码错误

问题描述

从 GIT 拉取或推送代码时出现以下错误。

Failed (SignatureException) to execute: Signature encoding error

标签: eclipsegithubegit

解决方案


花了一段时间才找到一个简单的解决方案。

您可以尝试以下任一方法:

解决方案1:

  1. 转到您的 ssh 文件夹 ( cd ~/.ssh/)

  2. 检查您是否有config文件,或者创建一个具有该名称的文件config并复制以下详细信息。

我当前的 ssh 文件夹结构

Host github.foo.com
Hostname github.foo.com
User git
Port 22
IdentityFile ~/.ssh/your_private_key
HostKeyAlgorithms ^rsa-sha2-512,rsa-sha2-256,ssh-rsa

(根据需要替换主机名和密钥路径。)

就我而言,我正在尝试访问 IBM GitHub 存储库。我的私钥文件名是id_rsa

例子:

Host github.ibm.com
Hostname github.ibm.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa
HostKeyAlgorithms ^rsa-sha2-512,rsa-sha2-256,ssh-rsa

解决方案2:

  1. 转到您的 ssh 文件夹 ( cd ~/.ssh/)
  2. 将您的文件备份到known_hosts其他位置(或重命名。例如:在上面的屏幕截图中,我将其更改为 known_hosts_1),然后将其删除。

现在尝试从 EGit 进行 git pull 或 push。 将密钥保存在 known_hosts 文件中

解决方案 3: 如果解决方案 1:解决方案 2: 单独不起作用,请同时尝试两种解决方案。即创建一个config文件并删除/重命名known_hosts文件。

更详细的讨论在: https ://www.eclipse.org/forums/index.php?t=msg&th=1108282/


推荐阅读