iosgithub

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

2016-12-03  本文已影响1312人  CharlesQiu

在设置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
这个提示比较多

参考文章

上一篇下一篇

猜你喜欢

热点阅读