密钥有密码时Sublime Merge SSH失败



当我尝试克隆repo时,我会得到一个git failed with exit code 128

此外,当我尝试推/拉时,我会得到一个git@gitlab.com public key denied

在我的~/.ssh文件夹中,我有一个config文件,如下所示:

Host mycompany.gitlab.com
HostName gitlab.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab-company-bryan

git在终端工作正常,但Sublime Merge我得到了权限错误。

我需要做什么才能使Sublime使用此公钥?我非常困惑,现在就开始工作。

git在终端中运行良好,但Sublime Merge I收到权限错误。

第一:

私钥是用Git 2.19.2生成的,这意味着openssh 7.8+,它刚刚将私钥的默认格式从PEM(每行64个字符(更改为"openssh"(每行70个字符(
请参阅"Jenkins:凭证中私钥的正确格式是什么">

尝试重新生成私钥(并在GitLab上注册(,但这次使用:

ssh-keygen -m PEM -t rsa -P "" -f mynewkey

这是为了排除Sublime Merge对该密钥的任何解释错误。

其次,正如OP在这里讨论的那样,带有密码短语的SSH私钥似乎不受支持,除非SSH代理被正确配置为缓存所述密码短语。

macOS上的

KeyChain为我处理一切(没有任何ssh配置;我仍然对所有的repo使用默认的id_rsa(。

OP bryan在评论中确认:

我终于使用了

ssh-add -K ~/.ssh/[your-private-key]

如GitHub:上所述

-K选项位于苹果标准版的ssh-add中,当您向ssh代理添加ssh密钥时,它会将密码短语存储在您的密钥链中。

对于那些感兴趣的人,我首先从命令行启动ssh-agent,然后使用"ssh-add"命令将我的密钥添加到ssh-agent中,然后在同一个打开的tty中,使用以下命令在当前目录上启动Sublime Merge,从而使其在Ubuntu 18.04上运行:smerge . &

这样,每次Sublime Merge使用您的ssh密钥时,后台运行的ssh代理进程都会为您处理输入的密码。

相关内容

  • 没有找到相关文章

最新更新