美文网首页
同一台电脑管理多个SSH key

同一台电脑管理多个SSH key

作者: 铃鹿山大魔王 | 来源:发表于2018-08-01 15:03 被阅读178次

    SSH key生成

    ssh key生成

    $ ssh-keygen -t rsa -C "xxx@xxx.com"
    

    此时会提示保存key的名字及路径,我们只需要自定义key的名字(路径)即可。

    Enter file in which to save the key (/Users/caichenghan/.ssh/id_rsa): 
    

    填写自定义路径

    /Users/caichenghan/.ssh/id_rsa_github
    

    输入密码生成 ssh key ,可直接按Enter进入生成。

    查看生成的ssh key

    $ cd /Users/caichenghan/.ssh
    $ ls
    

    目录下会多出2个文件,分别为 id_rsa_githubid_rsa_github.pub ,前者为私钥,后者为公钥,我们只需要把公钥上传到github账户的公钥管理中即可。

    我们还可以使用Finder查看该路径:Finder->右键->前往文件夹-> ~/.ssh

    查看公钥

    $ cat ~/.ssh/id_rsa_github.pub
    

    查看名为 id_rsa_github.pub 的公钥,然后将公复制下来,打开 Github 个人设置中的 公钥管理 中,添加公钥即可。

    账户验证

    $ ssh -T git@github.com
    

    此时会有个提示,如下

    The authenticity of host 'github.com (52.74.223.119)' can't be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
    Are you sure you want to continue connecting (yes/no)?
    

    说是无法与名为 github.com 的站点建立真实可靠的链接,RSA秘钥的指纹识别为256位的SHA....是否需要继续链接?

    其实说白了就是要在本地保存 github.com 的公钥,与 Githu 信息交互的时候要带上这个公钥,以便于 Github 解密。有点类似于 Githug 给你一把锁(公钥),你用这个锁锁住信息,然后丢给 Githubgithub 就可以用它自己的钥匙(私钥)来解开这把锁来查看信息了。

    站点的公钥信息,可以在 ~/.ssh 目录下的 known_host 里查看。有时候需要删除这个 known_host 里的站点公钥,重新建立安全连接。

    然而,此时的验证确是失败的,因为这个验证会使用默认的名为 id_rsaid_rsa.pub 的文件进行信息交互,很显然这不是我们想要的。what can i do ?

    ssh key 配置文件制作

    配置文件制作

    $ vim ~/.ssh/config
    

    配置 github 的ssh key

    Host github
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github
    

    其中 Host 为站点; HostName 为站点名; PreferredAuthentications 为优先使用公钥连接; IdentityFile ,私钥路径。

    如果站点为 ip地址 ,则用 ip地址 代替 域名 即可。

    再次验证

    $ ssh -T git@github.com
    
    Hi xxx! You've successfully ... 
    

    成功!

    同理,我们还可以继续添加其它账号的 ssh key ,这样就可以同一台电脑,使用多个 ssh key 免密码的git操作了。

    相关文章

      网友评论

          本文标题:同一台电脑管理多个SSH key

          本文链接:https://www.haomeiwen.com/subject/tncrvftx.html