昨天我在两台 Mac 和我的 github 帐户上更改了我的 .ssh key 。
在第一台机器上,在命令行上, git pull 和 push 按预期执行。
在同一台机器上,Xcode 源代码控制按预期执行了 push 和 pull。
一台第二台机器,命令行上的 git 仍然可以正常工作,但是每次我尝试使用 XCode 源代码控制从任何存储库进行拉取或推送时,身份验证都会失败。
我检查了 .git/config 文件,并且 URL 看起来不错。我尝试从 origin 克隆一个新的 repo,效果很好。但即便如此,新克隆的 repo 的推拉还是失败了。
最后,我使用 XCode 本身创建了一个新的 .ssh key ,然后一切都恢复了,但我不明白为什么。据我所知,它所做的只是:
1 将另一个 key 对添加到 .ssh
2 将公钥添加到github
……换句话说,和以前一模一样。
有谁知道 Xcode 有什么不同,这使得这项工作?
最佳答案
Xcode 使用未加密的 RSA 私钥,因此您可以使用 -m PEM
运行 ssh-keygen争论
例如。
ssh-keygen -t rsa -b 2048 -C "your_email@example.com" -m PEM
顺便提一句。
IntelliJ 平台 IDE,如 Android Studio、IDEA,如果使用 Settings Repository 功能和 ssh git repo。还需要未加密的 RSA 私钥。
关于xcode - Xcode 的 .ssh key 和 Github 帐户是否有内部配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54098507/