我已经为Windows设置了GitHub,并用它来创建与我的帐户关联的SSH密钥。我可以在GitHub for Windows GUI中执行git操作,但是当我尝试在git clone git@github.com:whatever.git
之类的命令提示符中运行命令时,我收到如下错误:
C:\Users\Nat\Documents\GitHub>git clone git@github.com:natdempk/whatever.git
Cloning into 'whatever'...
Permission denied (publickey).
fatal: Could not read from remote repository.
为什么一切都在GitHub for Windows GUI上运行?
答案 0 :(得分:2)
当GitHub for Windows创建密钥时,它们被命名为github_rsa
和github_rsa.pub
。 git
默认情况下要将密钥命名为id_rsa
和id_rsa.pub
,因此它无法从GitHub for Windows中找到密钥,并且会为您提供Permission denied (publickey)
。要解决此问题,您应该为github.com
创建一个SSH配置文件C:\users\<username>\.ssh\config
,如下所示:
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
这会在执行连接到git
的操作时通知github.com
使用生成的GitHub for Windows键。