Git 配置两个及以上的服务

周末在 deepin linux 上安装深度学习环境的时候,把系统搞挂了,找了一下备份的系统,最近的还在去年 4 月份,思前想后,最后选择了重装系统,顺便记录下笔记。下面的操作实在全新安装的系统上进行了。

安装git

git地址在这里,用的是 deepin 所以直接使用源安装。

sudo apt-get install git

git的基本配置 看这里。

生成公钥

创建~/xingmu/.ssh目录,并进入。

cd ~
mkdir .ssh
cd .ssh

~/xingmu/.ssh目录下,用 ssh-keygen 命令生成一组新的 id_rsa_new 和 id_rsa_new.pub,我这里需要使用 github 和 gitee(码云)两个平台,所以需要执行两次命令,分别生成 id_rsa_github/id_rs_github.pub 和 id_rsa_gitee/id_rsa_gitee.pub两组。

ssh-keygen -t rsa -C "xxx@xxx.com"

需要注意的是,平时都是默认生成 id_rsaid_rsa.pub 。现在要在第一个提示输入出现时分别输入带有表示意义的名字,以便于识别,这里我输入的是 id_rsa_githubid_rsa_gitee

配置config

将公钥分别配置到对应的 git 平台上,然后在~/xingmu/.ssh目录下新建 config 文件,配置参考如下。

## github
# 域名地址
Host github.com           
Hostname github.com
# 配置使用用户名    
User xxx@xx.com
PreferredAuthentications publickey
# 这里是id_rsa的目录位置                
IdentityFile ~/.ssh/id_rsa_github 
# 默认是22,如果是其他端口,一定要配置
Port 22

## 码云
# 域名地址的
Host gitee.com          
Hostname gitee.com
# 配置使用用户名    
User xxx@xx.com
PreferredAuthentications publickey
# 这里是id_rsa的目录位置                
IdentityFile ~/.ssh/id_rsa_gitee
# 默认是22,如果是其他端口,一定要配置
Port 22

## 以下第三个或者更多

测试

ssh -T git@github.com
## 控制台输出类似下面内容
# Hi your name! You've successfully authenticated, but GitHub does not provide shell access.
ssh -T git@gitee.com
## 控制台输出类似下面内容
# Hi xingmu! You've successfully authenticated, but GITEE.COM does not provide shell access.

如果出现如下的提示,选择 yes 继续就可以了
在这里插入图片描述
然后就可以愉快的玩耍了!!

ssh-agent解决Permission denied (publickey)问题

ssh -T git@gitee.com

## 控制台输出类似下面内容
#  The authenticity of host 'gitee.com (218.11.0.86)' can't be established.
#  ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
#  Are you sure you want to continue connecting (yes/no)? yes
#  Warning: Permanently added 'gitee.com,218.11.0.86' (ECDSA) to the list of known hosts.
#  Permission denied (publickey).
首先确定工具是否可以使用
eval `ssh-agent`

## 控制台输出类似下面内容,表示该工具可以使用(结果输出为工具的进程PID)
#  Agent pid 7488

注意: Windows系统下需在 git bash 或 cmder 命令行界面下操作

使用 ssh-add 工具将 SSH Key 添加到 ssh-agent
# 添加GitHub的SSH Key
ssh-add C:/Users/xxx/.ssh/github_id_rsa
# 添加码云的SSH Key
ssh-add C:/Users/xxx/.ssh/gitee_id_rsa

## 此时可能需要输入生成SSH Key时配置的密码(如果有设置的话),成功后输出类似以下内容
# Identity added: C:/Users/xxx/.ssh/github_id_rsa (C:/Users/xxx/.ssh/github_id_rsa)
# Identity added: C:/Users/xxx/.ssh/gitee_id_rsa (C:/Users/xxx/.ssh/gitee_id_rsa)

如出现类似下面提示:

ssh-add C:\Users\xxx\.ssh\gitee_id_rsa

## 控制台输出类似下面内容
# Could not open a connection to your authentication agent.

可以使用 ssh-agent bash --login -i 命令来启动 ssh-agent , 然后在执行 ssh-add

ssh-add ~/.ssh/id_rsa_gitee

## 控制台输出类似下面内容
# Identity added: /c/Users/xingmu/.ssh/id_rsa_gitee (daihaoxin@126.com)

最后使用 ssh -T git@xxx.com 命令验证Key是否添加成功

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值