Git:我使用哪个密钥(默认情况下可能不是)?

Git: which key do I use (may not be by default)?

在我的本地环境 (Mac OS X) 中,我的主文件夹中有 .ssh 文件夹,其中有两个键:github_rsa 和 id_rsa;此外,还有一个 known_hosts 文件,内容如下:

github.com,192.30.252.131 ssh-rsa blahblah
192.30.252.129 ssh-rsa blahlllblahhhh
...

在与 Github 或 Bitbucket 交互时,有什么方法(首选命令行)让我知道我的 git 命令使用的是哪个键?如果可以,怎么做?

谢谢。

id_rsa.pub 文件包含您用户的 RSA public 密钥(通常是用于连接到 GitHub 的密钥,如果您遵循他们的 tutorial)。如果要使用 github_rsa 密钥,可以通过在 ~/.ssh/config 文件中创建新的主机定义来更改用于连接到 GitHub 的密钥:

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_rsa

顺便说一句,known-hosts 文件包含您已连接的服务器及其 public 密钥。

另见这个 SO 问题:Setting up ssh keys for GibHub

您在问题中给出的已知主机文件具有各个服务器的 public ssh 密钥。

私有-public 密钥对应该用于身份验证!

您的 .ssh 文件夹应该有两个密钥 1. 私钥和 2. Public 密钥。 Public 密钥有扩展名 .pub 而私钥没有!

所以很可能您拥有的两个文件是 Public(github 上也有)和私有文件。

总之要知道你的 github 使用的是哪个键,你可以这样做:

  1. 在您的 github 帐户中找到 public 密钥,并在您的 .ssh 文件夹中找到它的对(即如果您维护了正确的命名法)。
  2. 或者获取您的私钥和 运行 命令 ssh-keygen -y -f <private key file>,它将创建一个 public 密钥。将生成的公钥与您的 github!
  3. 进行比较

希望这比您将来使用的问题更能说明问题! :)