useKeychain阻止git命令在Mac OS上运行



我使用的是Mac OS 12.4,在运行任何类型的git命令时遇到问题,导致以下错误:

/Users/user/.ssh/config: line 3: Bad configuration option: usekeychain
/Users/user/.ssh/config: terminating, 1 bad configuration options
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

奇怪的是,这个错误只发生在zsh shell中,而不是在使用bash时。

为了解决这个问题,我遵循了GitHub文档,并在ssh配置中添加了IgnoreUnknown UseKeychain。然而,这并没有解决我的问题。

最后,我设法通过从.ssh/config文件中删除UseKeychain true行来解决这个问题,但我担心它可能会以意想不到的方式适得其反。

有什么合理的替代方案来解决这个问题?

UseKeychain选项将把与私钥相关的密码存储在用户的钥匙链中,这样用户就不需要每次使用密钥登录时都输入密码。删除该选项只是意味着,只要需要解密私钥,就会提示您在命令行输入密码。

错误的来源可能是多个OpenSSH版本之间的版本不匹配。我会打开一个zsh提示符和一个bash提示符,然后尝试which ssh,看看它们是否都使用相同的二进制文件。CCD_ 6也可以产生有用的信息。

您也可以在.ssh/config文件的顶部添加以下行,而不用担心。

IgnoreUnknown UseKeychain

这将简单地忽略任何二进制版本或操作系统上不支持的UseKeychain条目,并且仍然在任何这样做的系统上使用它。

最新更新