【发布时间】:2021-10-03 00:24:42
【问题描述】:
当我从 GIT 拉取或推送代码时出现以下错误。
Failed (SignatureException) to execute: Signature encoding error
【问题讨论】:
-
这里不涉及 Git:这似乎是一个 EGit + ssh 配置问题。
当我从 GIT 拉取或推送代码时出现以下错误。
Failed (SignatureException) to execute: Signature encoding error
【问题讨论】:
花了一段时间才找到一个简单的解决方案。
您可以尝试以下任一方法:
解决方案 1:
转到您的 ssh 文件夹 (cd ~/.ssh/)
检查您是否有config 文件,或者创建一个名为config 的文件并复制以下详细信息。
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:
cd ~/.ssh/)known_hosts 文件备份到其他位置(或重命名。例如:在上面的屏幕截图中,我将其更改为 known_hosts_1),然后将其删除。现在尝试从 EGit 进行 git pull 或 push。
解决方案 3:
如果解决方案 1: 和 解决方案 2: 不能单独工作,请同时尝试这两种解决方案。即创建一个config 文件并删除/重命名known_hosts 文件。
更详细的讨论是: https://www.eclipse.org/forums/index.php?t=msg&th=1108282/
【讨论】:
Failed (SignatureException) to execute: Signature encoding error