我现在有一个奇怪的问题就是乌龟git,这是我无法弄清楚的.当尝试在github上提交我的存储库时,我收到错误
错误:对martindevans/Hermes.git的许可被拒绝给key2
Key2是我用来访问不同github存储库的密钥,但是远程url没有设置为使用key2,正如你在这里看到它设置为使用private.ppk
我做的事情显然是错的,还是乌龟git坏了?
铌.回应评论.使用普通的git导致:
C:\Users\Martin\Documents\Visual Studio 2010\Projects\Hermes>git push
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
Doo*_*nky 32
有不同的私钥格式.我的密钥对是用puttygen生成的,但是我的Tortoise被配置为使用ssh.exe(表单msysgit)作为ssh-client.所以我把它改成plink(来自Tortoise)并且它起作用了.
附加说明:使用正确的URL!Github为您提供三个URL https,git和ssh.
编辑:
我在这里调整了设置:
Settings - TortoiseGit >> Network >> SSH-Client
C:\Program Files\TortoiseGit\bin\TortoisePLink.exe
Run Code Online (Sandbox Code Playgroud)
我已经生成了密钥对:
C:\Program Files\TortoiseGit\bin\puttygen.exe
Run Code Online (Sandbox Code Playgroud)
sca*_*man 10
哈!ProcMon来救援.这是tortoisegit/tortoiseplink中的一个错误.它应该优先考虑该远程通过选美的密钥集,而是优先考虑该特定服务器的putty存储在注册表中的密钥.两个修复.
这里有2个可能的修复
你的tortoiseplink与putty集成在一起,它正在读取你在与该服务器相关联的putty"Session"中保存的私钥.至少这对我来说是这样的.我不是在github,所以我不知道这个解决方案对每个人的可行性.
我建议在putty会话配置中手动删除密钥集,并使用pagaent进行putty会话,因为这就是togise git所做的事情.这也使得tortoisegit使用遥控器的钥匙组.
因此,您可以打开putty,加载与服务器关联的任何会话,转到Connection/SSH/Auth并修改/删除"用于身份验证的私钥文件"值.MOdification可能会修复此repo,但如果您使用同一服务器的不同密钥,则会搞砸另一个repo.
您可以自己修改/删除注册表项.它的HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\$SERVERNAME$\PublicKeyFile
归档时间: |
|
查看次数: |
42002 次 |
最近记录: |