如何知道 Git clone 时 GitHub 使用的是哪个 SSH key 呢

说明

因为历史原因,我系统里有好些 SSH 秘钥,想做清理但是年代很久远:

 $ ls -al ~/.ssh
total 176
drwxr-x---  16 summer  staff    512  2 20 17:06 .
drwxr-xr-x+ 80 summer  staff   2560  2 20 17:19 ..
-rw-r-----@  1 summer  staff   6148 11 17  2016 .DS_Store
drwxr-x---   2 summer  staff     64 11 17  2016 .ssh
-rw-r-----@  1 summer  staff   1679 12  7  2013 bitbucket
-rw-r-----@  1 summer  staff    406 12  7  2013 bitbucket.pub
-rw-r-----@  1 summer  staff     34 10  6  2013 config
-rw-r-----@  1 summer  staff   1766 10 14  2013 github_rsa
-rw-r-----@  1 summer  staff    403 10 14  2013 github_rsa.pub
-rw-r-----@  1 summer  staff    404 10 14  2013 github_rsa.pub_bak-github
-rw-r-----@  1 summer  staff   1766 10 14  2013 github_rsa_bak-github
-r--------@  1 summer  staff   1679 10  6  2013 id_rsa
-rw-r-----@  1 summer  staff    406  9 13  2018 id_rsa.pub
-rw-r-----@  1 summer  staff  35382  9 28 17:34 known_hosts
-rw-r-----@  1 summer  staff   1675 10  6  2013 lgl
-rw-r-----@  1 summer  staff    424 10  6  2013 lgl.pub

问:如何辨别 git clone 命令时使用的是哪个秘钥呢?

方法一:

除非你在 ~/.ssh/config 文件中做了设置,默认情况下根据验证协议不同会读取以下:

~/.ssh/id_rsa 
~/.ssh/id_dsa
~/.ssh/identity

方法二:

或者你也可以使用以下命令:

ssh -v git@github.com

-v 会显示与服务器建立链接的信息。寻找关键词 Offering

[...]
debug1: Offering RSA public key: /home/me/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: /home/me/.ssh/id_rsa2
debug1: Server accepts key: pkalg ssh-rsa blen ****
[...]
本作品采用《CC 协议》,转载必须注明作者和本文链接
摈弃世俗浮躁,追求技术精湛
Summer
讨论数量: 1

直觉猜测:是要薅 Handshake 的时候发现的吗,哈哈。

4年前 评论
Remember 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!