我正在尝试配置 git,这样我就不必继续进行身份验证(并且还可以了解有关 git 的更多信息)。
我之前一直使用基于密码的身份验证,这种身份验证会重复输入我的密码。我按照步骤(使用 Windows)在 github 中设置 SSH 密钥。我给我的密钥起了一个特定的名称,预计在某个时候我将需要多个 SSH 密钥。id_rsa一直有github是没有意义的!我收到了密钥已成功创建的电子邮件,我使用 git bash (因为 Windows)静默启动 SSH 客户端并添加了我的私钥。但运行 agit 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.
Run Code Online (Sandbox Code Playgroud)
然后我想到用默认名称 ( id_rsa) 尝试一下,而不是我的自定义名称,当然它是有效的。所以我的问题是如何避免这种情况?我不希望为 github 保留默认名称。
您可以设置 ssh配置文件来告诉ssh命令在连接到 github 时使用该特定密钥。
.ssh/config创建包含以下内容的文件:
Host github.com
IdentityFile ~/.ssh/github_rsa_key
Run Code Online (Sandbox Code Playgroud)
假设您已将您的私钥命名为~/.ssh/github_rsa_key.
现在尝试连接到 github:
$ ssh git@github.com
Run Code Online (Sandbox Code Playgroud)
你应该看到:
Hi <your github username>! You've successfully authenticated, but GitHub does not provide shell access.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1763 次 |
| 最近记录: |