我正在尝试配置git,这样我就不必一直进行身份验证(也可以了解更多关于git的信息)。
我以前一直使用基于密码的身份验证,这是重复输入我的密码。我按照步骤(使用windows)在github中设置SSH密钥。我给我的密钥起了一个特定的名称,因为我预计在某些时候会需要多个SSH密钥。总是为github提供id_rsa
是没有意义的!我收到了密钥创建成功的邮件,我使用git bash(因为windows)静默启动SSH客户端,并添加了我的私钥。但是运行git clone
给了我这个错误:
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
然后我有了尝试使用默认名称(id_rsa
)的想法,而不是我的自定义名称,当然它可以工作。所以我的问题是如何避免这种情况?我不希望为github保留默认名称。
您可以设置一个ssh配置文件,告诉ssh
命令在连接到github时使用特定的密钥。
创建文件.ssh/config
,内容为:
Host github.com
IdentityFile ~/.ssh/github_rsa_key
假设您将私钥命名为~/.ssh/github_rsa_key
。
现在尝试连接到github:
$ ssh git@github.com
你应该看到:
Hi <your github username>! You've successfully authenticated, but GitHub does not provide shell access.