美文网首页iosgithub
[SSH] 同时管理多个ssh私钥

[SSH] 同时管理多个ssh私钥

作者: CharlesQiu | 来源:发表于2016-12-03 18:26 被阅读1312次

    在设置github的时候,官方的说明文档要求备份当前的id_rsa,然后生成一份新的私钥用于github的登陆。如果真这样做,那么新的私钥是无法再继续登陆之前的机器的。这种方法有点暴力…
    还好ssh可以让我们通过不同的私钥来登陆不同的域。

    1. 在新增私钥的时候,通过指定不同的文件名来生成不同的私钥文件
      ssh-keygen -t rsa -f ~/.ssh/id_rsa.work -C "youremail@example.com"
      ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "youremail@example.com"

    2. 新增ssh的配置文件,并修改权限
      touch ~/.ssh/config
      chmod 600 ~/.ssh/config(可以不需要)

    3. 修改config文件的内容

    Linux:

    Host *.workdomain.com
    IdentityFile ~/.ssh/id_rsa.work
    User yourWorkAccount

    Host github.com
    IdentityFile ~/.ssh/id_rsa.github
    User yourGithubAccount

    Mac:

    host github.com
    hostname github.com
    user user@github.com
    IdentityFile ~/.ssh/id_rsa.github

    1. 复制公钥(注意不要把末尾的账号名复制进去)
      cat id_rsa.github.pub

    2. 登录GitHub - Settings - SSH and GPG keys - New SSH key
      标题随便填(主要是给你辨识key用),把刚刚一长串公钥粘贴到Key输入框

    3. 测试是否成功:
      ssh -T git@github.com

    成功提示:
    Hi XXXX! You've successfully authenticated, but GitHub does not provide shell access.

    或者使用
    ssh -vT git@github.com
    这个提示比较多

    参考文章

    相关文章

      网友评论

        本文标题:[SSH] 同时管理多个ssh私钥

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