同一台电脑关于多个SSH KEY管理

背景

我的Mac要求既可以提交代码到github,也可以提交代码到oschina,提交的时候都走ssh协议,但是默认情况下只能有一个ssh key(~/ssh)

生成公钥、私钥

$ ssh-keygen -t rsa -C "[email protected]"
保存到 `~/.ssh/id_rsa_github`

$ ssh-keygen -t rsa -C "[email protected]"
保存到 `~/.ssh/id_rsa_oschina`

配置ssh代理

// 查看系统ssh-key代理
$ ssh-add -l

// 如果系统已经有ssh-key 代理 ,执行下面的命令可以删除
$ ssh-add -D

// 把 ~/.ssh 目录下的2个私钥添加的 ssh-agent
$ ssh-add ~/.ssh/id_rsa_github
$ ssh-add ~/.ssh/id_rsa_oschina

// 在 .ssh 目录创建 config 配置文件
$ vim ~/.ssh/config
#  github 配置
Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_github

# oschina配置
Host oschina
    HostName git.oschina.net
    User git
    IdentityFile ~/.ssh/id_rsa_oschina

github公钥(~/.ssh/id_rsa_github.pub)配置到github SSH keys
oschina公钥(~/.ssh/id_rsa_oschina.pub)配置到oschina SSH 公钥管理

验证

// 查看ssh-key代理,会看到2条记录
$ ssh-add -l

// 访问github
$ ssh -T [email protected]
Hi �用户名! You have successfully authenticated, but GitHub does not provide shell access.

// 访问oschina
$ ssh -T [email protected]
Welcome to Git@OSC, �用户名!

参考:
同一台电脑关于多个SSH KEY管理
开源中国SSH Key

你可能感兴趣的:(同一台电脑关于多个SSH KEY管理)