Using Git with multiple Public Keys

Hujiawei Bujidao


     

Using Git with multiple Public Keys


本文介绍如何同时使用多个Git的公私钥

很多时候,如果我们在多个网站有了Git账号,例如Github、GitCafe、CodingNet等,当我们与不同网站的代码库进行连接的时候可能会因为我们没有配置或者配置不当,导致我们需要重复输入账号密码的问题,本文就是介绍如何同时使用多个公秘钥。

内容参考自GitCafe帮助文档如何同时使用多个公秘钥

之前我已经配置了三个GitCafe的账号,下面以配置CodingNet为例,介绍整个配置过程。

1.生成新的SSH秘钥

记得把以下命令中的YOUR_EMAIL@YOUREMAIL.COM改为你的 Email 地址

ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/codingnet

2.生成过程中会出现以下信息,按屏幕提示操作,并记得输入 passphrase 口令(可以为空)。这将在 ~/.ssh/ 目录下生成 codingnetcodingnet.pub 文件,记住千万不要把私钥文件 codingnet 透露给任何人。

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/hujiawei/.ssh/codingnet.
Your public key has been saved in /Users/hujiawei/.ssh/codingnet.pub.
The key fingerprint is:
f6:66:dd:e9:f4:72:c7:dc:90:86:50:f0:4f:ba:ff:64 hujiawei090807@gmail.com
The key's randomart image is:
+--[ RSA 2048]----+
|          ..     |
|           ..    |
|           .. .  |
|          .  +   |
|        S  ..... |
|       . . ..o+. |
|          + o.++E|
|         o   +.+*|
|              o++|
+-----------------+

3.在 SSH 用户配置文件 ~/.ssh/config 中指定对应服务所使用的公秘钥名称,如果没有 config 文件的话就新建一个,并输入以下内容

Host git.coding.net www.coding.net
  IdentityFile ~/.ssh/codingnet

4.添加 codingnet.pub 中的内容到 Coding.net 网站,注意,不需要保留文件结尾的邮件地址

复制文件内容到剪切板中

pbcopy < ~/.ssh/codingnet.pub

image

5.最后测试配置文件是否正常工作

ssh -T git@git.coding.net

如果提示是否继续连接的话输入yes,这样就会永久地将连接信息添加到文件know_hosts中。最后如果连接成功的话,会出现成功的信息。

Coding.net Tips : [Hello hujiawei! You've connected to Coding.net by SSH successfully! ]

6.完成

测试通过后,你就可以使用独立的一套公秘钥来使用 CodingNet 了。

Enjoy!

Hujiawei is a mobile developer Guangdong, China http://javayhu.me/ 本博客所有文章均为原创,请勿随意转载,如需转载请联系我 (hujiawei090807 AT gmail.com) 我在小专栏有个移动开发技术专栏,不定期分享移动开发的核心技术,总结移动开发的实战经验
所有文章皆为原创,内容制作精良,保证干货满满,欢迎订阅 (https://xiaozhuanlan.com/u/javayhu)
>>> 我最近在Android面试指南小专栏里面写了一篇稿子 [Android面试——算法面试心得] ,欢迎阅读!<<<
下面的二维码是我个人维护的微信公众号“潇涧技术专栏”,会不定期分享移动开发的核心技术,欢迎关注!