Mac OS (High Sierra) 在这里。我有一个 SSH 密钥,example-gh-user
当我运行pbcopy < ~/.ssh/example-gh-user.pub
并将其粘贴到编辑器中时,我看到:
ssh-ed25519 <SOME_REALLY_LONG_ALPHANUM> me@example.org
显然,出于安全原因,我用上面的虚拟值替换和的实际值。但一切看起来都很好。<SOME_REALLY_LONG_ALPHANUM>
me@example.org
在 GitHub 上,我有一个用户,example-gh-user
正在使用me@example.org
电子邮件,我可以使用该用户登录并查看我的所有存储库。一切看起来都很好。
我已按照GitHub 指南向我的GitHub 帐户添加 SSH 密钥。example-gh-user
因此,这个 SSH 密钥应该与我的 GH 帐户所关联的同一电子邮件地址相关联。
在我的~/.ssh/config
文件中,我有以下条目:
Host example-dev
Hostname github2.com
AddKeysToAgent yes
IdentityFile ~/.ssh/example-gh-user
Host github.com
User git
Hostname github.com
AddKeysToAgent yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/example-gh-user
到目前为止,一切都很好,我想。
但是,当我从命令行运行以下命令时:
ssh -Tv git@github.com
我得到了大量的输出,有趣的是,结果如下:
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
Hi my-old-gh-user! You've successfully authenticated, but GitHub does not provide shell access.
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 3452, received 2724 bytes, in 0.1 seconds
Bytes per second: sent 28403.1, received 22413.1
debug1: Exit status 1
看那个!my-old-gh-user
!那是我多年没用过的老GH用户!
SSH 和/或 git/GitHubmy-old-gh-user
从哪里获取它?!SSH是如何缓存旧数据的?如果我了解一切如何正常工作,~/.ssh/config
则清楚地指示 SSH在以用户身份~/.ssh/example-gh-user
连接时使用,对吗?我哪里出错了?git
github.com