文章目录
- 前言
- 一、什么是ssh-key
- 二、配置步骤
- 添加ssh-key
- 配置多ssh-key
- 总结
前言
快速理解如何配置管理多个git服务器的ssh,当我们有多个git帐号时会涉及如何管理不同的remote使用不同的git账户登陆推送
- 当前repo的origin remote是github,我们在推送时直接
git push origin [branch_name]
自动调用github的ssh密钥 - 当前repo的gitee remote是gitee,我们在推送时
git push gitee [branch_name]
自动调用gitee的ssh密钥
如此不管多少个git服务器被使用,那么都能很灵活管理ssh-key
一、什么是ssh-key
SSH-key是SSH协议用于身份验证的一种方式,用于加密和解密数据。它由一个公钥和一个私钥组成。公钥被存储在服务器上,私钥则存储在客户端。当客户端发起SSH连接时,它会使用私钥加密数据并发送给服务器,服务器会使用公钥解密数据进行身份验证。SSH-key可以避免使用密码的繁琐,提高SSH连接的安全性
二、配置步骤
添加ssh-key
创建gitee ssh-key 指令如下:
ssh-keygen -t rsa "***@gmail.com" -f ~/.ssh/gitee_id_rsa
cat ~/.ssh/gitee_id_rsa.pub
# 复制输出内容到公钥框里,点击确定
gitee 添加ssh如下所示:
创建github ssh-key 指令如下:
ssh-keygen -t rsa "***@gmail.com" -f ~/.ssh/github_id_rsa
cat ~/.ssh/github_id_rsa.pub
# 复制输出内容到key框里,点击确定
github添加ssh如下所示:
配置多ssh-key
在 ~/.ssh 目录下新建一个 config 文件,添加如下内容(其中 Host 和 HostName 填写 git 服务器的域名,IdentityFile 指定私钥的路径)
# config 文件内容如下
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
用 ssh 命令分别测试
ssh -T git@gitee.com
ssh -T git@github.com
成功配置如下所示,不需要管but GitHub does not provide shell access.
这一段意思是服务器不允许直接ssh连接到终端,对于push pull等不影响
总结
以上就是今天要分享的内容,希望大家也能跟具这篇文章真正掌握配置git多账号的技能。