Git配置多个SSH KEY

Git配置多个SSH KEY

1.生成二个ssh key

生成ssh key时同时指定保存的文件名

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "xx-email"
$ ssh-keygen -t rsa -f ~/.ssh/oschina2_id_rsa -C "xx-email"

​ 上面的id_rsa就是我们指定的文件名,这时~/.ssh目录下会多出 id_rsaid_rsa.pub两个文件,id_rsa.pub里保存的就是我们要使用的key。

​ 上面的oschina2_id_rsa就是我们指定的文件名,这时~/.ssh目录下会多出oschina2_id_rsaoschina2_id_rsa.pub两个文件,oschina2_id_rsa.pub里保存的就是我们要使用的key。

查看你的 public key,并把他添加到码云(Gitee.com),复制内容填入即可 SSH key添加地址

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

2.配置config文件

个人本地的config( 没有生成一个):

$ cat config
#default oschina.net user([email protected])
Host 192.168.10.?
   IdentityFile ~/.ssh/localtest

Host git.oschina.net
   HostName git.oschina.net
   User [email protected]
   IdentityFile ~/.ssh/id_rsa

Host oschina2
   HostName git.oschina.net
   User perry
   IdentityFile ~/.ssh/oschina_id_rsa
Host example                       # 关键词
    HostName example.com           # 主机地址
    User root                      # 用户名
    IdentityFile ~/.ssh/id_rsa # 认证文件
    # Port 22                      # 指定端口

​ 192.168.10.?表示匹配 192.168.0.[0-9] 的 IP,是内网服务器的地址,使用localtest

​ git.oschina.net oschina2

​ 通过执行 $ ssh example 我就可以登录我的服务器。而不需要敲更多的命令 $ ssh [email protected]。又如我们想要向服务器传文件 $ scp a.txt example:/home/user_name。比以前方便多了。

3.配置全局默认的用户

$ git config --global  user.name 'perry'
$ git config --global  user.email 'xx.email'

4. 测试是否配置成功

 ssh -T git@+你的主机/别名
$ ssh -T [email protected]
$ ssh -T git@oschina2

若返回

Welcome to Git@OSC, yourname(你对应key的用户名)!

则证明添加成功。

eg:

$ ssh -T [email protected]
Welcome to Git@OSC, say_hi!
$ ssh -T git@oschina2
Welcome to Git@OSC, byron!

5.sourceTree设置

目的:可以根据不同的项目使用不同的ssh key

​ 不使用全局配置的项目:sourceTree—>项目->仓库—>

​ 远程仓库:将 [email protected]:byronhs/xx.git —-改成—> git@oschina2:byronhs/xx.git.(主要是将git.oschina.net这个主机改成我们自己配置的 别名)

​ 高级设置:不使用全局的设置,设置自己的用户名和电子邮件地址(一般对应于我们设置的第二个ssh key)

Ps:不是自己项目,名字写拥有者

参考内容:

手把手教你同时使用多github帐号的SSH key

码云-生成并部署SSH key

ssh-config配置

SSH 那些你所知道和不知道的事

SSH原理

SSH agent 转发

你可能感兴趣的:(Git配置多个SSH KEY)