昨天我在两台Mac和我的github帐户上更改了.ssh密钥。
在第一台计算机上的命令行上,按预期执行git pull和push。 在同一台机器上,Xcode源代码控制按预期执行推和拉。
第二台机器,命令行上的git仍然可以正常工作,但是每次我尝试使用任何仓库中的XCode源代码控制进行拉或推时,身份验证都会失败。
我检查了.git / config文件,URL看起来不错。我尝试从源克隆新的回购协议,但效果很好。但是即使如此,从新克隆的仓库中进行的推拉操作仍然失败。
最后,我使用XCode本身创建了一个新的.ssh密钥,然后一切再次正常运行,但是我不明白为什么。据我所知,它所做的只是:
1向.ssh添加另一个密钥对
2将公钥添加到github
...换句话说,与以前完全一样。
有人知道Xcode的不同之处吗?
答案 0 :(得分:1)
Xcode使用未加密的RSA私钥,因此您可以使用带有-m PEM
参数的ssh-keygen
例如
ssh-keygen -t rsa -b 2048 -C "your_email@example.com" -m PEM
btw。
IntelliJ平台IDE,例如Android Studio,IDEA(如果将sss git repo与Settings Repository功能一起使用)。还需要未加密的RSA私钥。