同一台电脑上使用gitlab和github

在公司实习,使用的是公司邮箱账号登录gitlab,而使用自己的私人邮箱账号登录github,因此需要生成两个ssh的key对应不同的服务器。

使用命令

$ ssh -keygen -t rsa -C "youremailaddress"
生成key,其默认在~/.ssh/目录下生成id_rsa和id_rsa.pub两个文件。

由于在公司的账户已经使用了这两个默认的文件,所以在为github配置key时,在使用上条命令产生key时可以设置将key保存在其他地方,我使用了github_rsa和github_rsa.pub这两个文件。

以下是操作的关键!!!

然后在.ssh文件下创建config文件并打开

$ touch config
$ vim config
写入配置:
# gitlab
Host gitlab
	HostName git.xxx
	User your_username
	IdentityFile ~/.ssh/id_rsa
#github
Host github
	HostName github.com
	User your_username
	IdentityFile ~/.ssh/github_rsa
然而,此时如果想要从github上使用git clone的话会出现Permission denied(public key)错误。使用命令

$ ssh -v git@github.com
最后几行会显示如下信息

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/xxx/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/xxx/.ssh/id_dsa
debug1: Trying private key: /Users/xxx/.ssh/id_ecdsa
debug1: Trying private key: /Users/xxx/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
个人的理解是git默认寻找id_rsa文件作为public key,然而现在这个id_rsa已经是公司账户使用的key,二者邮箱不同,自然不能使用。我们的key在github_rsa中。

使用命令

$ ssh-add -l
发现密钥列表为空,所以使用

$ ssh-add ~/.ssh/github_rsa
添加密钥。

使用命令

$ ssh -T git@github.com
测试连接,验证通过!




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值