1

我的 Mac 上有 2 个 git 帐户,我有 2 组公钥和私钥。
我在 /.ssh 中有一个配置文件来管理这些帐户,如下所示:

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

Host github-user2
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa_user2

来自这些帐户的代码将被推送到 2 个不同的远程存储库,我使用以下命令在它们各自的目录中设置它们的不同远程:

git remote add origin github.com:xyz_user/abc.git
git remote add origin github-user2:pqr_user/def.git

我能够成功地从两个帐户推送到这些回购。
当我使用 ssh 时,

ssh-add -l

显示添加的两个帐户的私钥。

ssh -T github.com
ssh -T github-user2

两者都给出以下消息:

"Hi user2! You've successfully authenticated, but GitHub does not provide shell access."

我注意到的另外 1 件事,即使没有用“ssh-add -l”列出的密钥

ssh -T github.com & ssh -T github-user2 provide successful authenticate message.

建立 ssh 连接时如何区分两个帐户?
ssh -T 从哪里进行身份验证?

4

1 回答 1

1

建立 ssh 连接时如何区分两个帐户?

你不会真的:两个公钥都注册在同一个 GitHub 帐户中,所以就 GitHub 而言,两个 ssh 都将你验证为“user2”。

ssh -T 从哪里进行身份验证?

它正在查看您的帐户配置文件的ssh 密钥部分。 两个公钥都在那里注册,如“生成 SSH 密钥”的 GitHub 帮助页面中所述。

于 2013-07-13T19:42:45.123 回答