多个 SSH keys 的配置,方便 Git 对不同仓库的使用与管理
在搬砖的过程中,或多或少都会与不同的代码托管平台打交道。比如我就喜欢用 gitee(码云) 作为 md 笔记中的图床,github 作为个人项目的代码管理仓库。而公司又会使用其它的托管平台来管理,比如阿里云等。
单个 SSH keys 在使用并生效后,再配置其它平台就会造成失效等各种问题。看了各个仓库的 SSH keys 生成教程,基本只有单个 SSH keys 的生成。在我们想要对多个代码托管平台上的项目同时操作的时候,帮助不大。
在配置多个 SSH keys 的过程中,我把配置的过程与碰见的一些问题,记录在该文章内,希望能给各位提供些许帮助。
1.生成各平台指定的 SSH-Keys
打开 git Bash Here,输入命令,修改邮箱后一路回车。如需要设置密码的话可以额外自行配置。
-t : “是指定秘钥的类型”
-C :“是指定用于识别密钥的注释,即可以填写任意值,一般都填邮箱”
此时,系统盘用户名下的用户 .ssh 目录下应该有 8 个文件:id_rsa 和 id_rsa.pub,github_rsa 和 github_rsa.pub,gitee_rsa 和 gitee_rsa.pub,aliyun_rsa 和 aliyun_rsa.pub。
可能会出现的错误:
生成的公钥文件(.pub)未在 .ssh 文件夹内,或者生成文件的位置不对,请检查控制台当下的路径与生成的路径。
有些控制台可能识别不了 “ ~ ” , 修改添加的路径直接用 “ ./ ” 操作
2.配置公钥
将它们的公钥文件(.pub)内部的所有内容复制黏贴到对应的代码托管仓库上。
以 github 为例,如图所示:
将对应平台的公钥添加至 Key 框内。Title 可随意填,具有标识性即可。
最后点击 Add SSH key 保存即可。
3.配置私钥
添加私钥,并通过命令 ssh-add -l 来查看当前配置成功的私钥列表,如图中所示:
可能会出现的错误:
ssh-agent bash 提示错误信息:unable to start ssh-agent service, error :1058
解决:管理员权限打开 Power Shell,执行:
添加私钥提示错误信息:No such file or directory
解决:检查当前控制台路径与添加的路径是否匹配,调整路径即可,如上图所示。
4.新增 config 配置文件
若系统盘用户名下的 .ssh 目录下无 config 文件,那么新建一个 config 文件。该文件没有文件后缀名,类型显示为文件,双击后可用记事本等打开进行编辑。
我的配置文件如下,可参考配置文件参数说明:
5.测试 SSH 链接
成功提示:
Welcome to GIT,your name!
也可以直接进行项目的克隆或提交进行测试。
我的建议是,在配置完成后,对各个平台都进行一次链接测试。
可能会出现的错误:
提交代码时,提示 Host key verification failed。
原因:若你的项目先克隆到了本地,再修改 SSH keys 后,在提交的时候由于公钥不一样了,所以无法登录。
解决:只需要进行一次链接测试便可解决。
以上就是多个 SSH-Keys 的配置过程,如果在配置过程中还发现有其它问题或者还有看不懂的地方,欢迎留言讨论。
版权声明: 本文为 InfoQ 作者【与光】的原创文章。
原文链接:【http://xie.infoq.cn/article/6d651530f685acf6a0c04e9fe】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论