关于ssh-keygen和同一台电脑同时使用github、gitlab、bitbucket等

背景

通常我们的笔记本,在公司的时候需要连公司的gitlab,在家的时候学习需要连github或bitbucket,同一台笔记本,我们怎么支持连多个呢?

方法

其实是个伪命题,不存在这样的麻烦。不需要像网上说的那样建一个 config 文件,然后blabla一顿操作。

只要在电脑上生成公钥和私钥,把同样的公钥在github、bitbucket和gitlab上设置就行了,共用一份

步骤

以下以我的笔记本Windows系统为例,假设还未生成过ssh key(以前生成过则可以删除重新生成),则:

  • ssh-keygen -t RSA,之后一直回车
  • /.ssh中找到生成的文件。是当前用户home目录,如C:\Users\Administrator。生成若干文件,如私钥、公钥和 .gitconfig,打开公钥id_rsa.pub,拷贝里面的内容
  • 打开gitlab/github/bitbucket等需要添加私钥的网站,粘贴刚刚复制的公钥内容并保存

注意:

  1. 新增公钥通常有个Title,这个我觉得是用来标识所贴的公钥对应的私钥在哪里,比如 “我的华硕笔记本”。
  2. ssh-keygen -t RSA 通常不要带邮箱,如 ssh-keygen -t RSA -C xxx@xxx.com,这个-C 是注释内容,让公钥内容看起来可理解,其内容对结果没影响。但是如果固定为某个邮箱可能会有误导性,比如你github用和公司用的邮箱不一样。如果非得-C,建议ssh-keygen -t RSA -C my_asus_laptop,注释是哪台笔记本,估计可以用中文。
  3. ssh-keygen -t RSA 无-C注释,会默认使用Windows的用户名@计算机名
  4. 实际上,贴到bitbucket等的SSH key会自动删除掉用户名@计算机名,只留公钥信息
  5. 对于公仓,添加后能git clone项目并不代表配置正确,能push才证明权限没有问题。对于私仓,能克隆就代表权限没问题。-----毕竟不需要任何配置也是可以克隆任何公仓的。
  6. push代码后,gitlab/github/bitbucket展示的身份(提交者),是用项目的user.email来匹配的。通常会设置git config user.name xxxxgit config user.email xxxx
  7. 建议最好不要设置global的user.name和user.email,每个仓库独立设置,其实并不麻烦。无设置user.name和user.email的将不能commit,这样也可以避免global设置的名字和邮箱混淆(毕竟工作和学习是不同邮箱账号)
  8. 同一台电脑,不同次生成的SSH key是不一样的(不重复)
  9. 拷贝id_rsa.pub文件在文本文件带有换行符,没关系,有无不影响
  10. known_hosts文件自动产生,当添加可信域名时写入值
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值