简单易用多git服务器ssh密钥配置管理

文章目录

  • 前言
  • 一、什么是ssh-key
  • 二、配置步骤
    • 添加ssh-key
    • 配置多ssh-key
  • 总结


前言

快速理解如何配置管理多个git服务器的ssh,当我们有多个git帐号时会涉及如何管理不同的remote使用不同的git账户登陆推送

  1. 当前repo的origin remote是github,我们在推送时直接git push origin [branch_name]自动调用github的ssh密钥
  2. 当前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 -C "***@gmail.com" -f ~/.ssh/gitee_id_rsa

cat ~/.ssh/gitee_id_rsa.pub
# 复制输出内容到公钥框里,点击确定

gitee 添加ssh如下所示:
简单易用多git服务器ssh密钥配置管理_第1张图片创建github ssh-key 指令如下:

ssh-keygen -t rsa -C "***@gmail.com" -f ~/.ssh/github_id_rsa

cat ~/.ssh/github_id_rsa.pub
# 复制输出内容到key框里,点击确定

github添加ssh如下所示:

简单易用多git服务器ssh密钥配置管理_第2张图片
简单易用多git服务器ssh密钥配置管理_第3张图片

配置多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
# gitlab
Host gitlab.****.com
	HostName gitlab.****.com
	Port 2224
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/gitlab_id_rsa

用 ssh 命令分别测试

ssh -T [email protected]
ssh -T [email protected]
ssh -T git@gitlab.***.com

在最后一个gitlab处可以注意到增加了一个Port选项,当你的gitlab个人服务器ssh校验端口不为22时可以通过这个参数指定特定端口

成功配置如下所示,不需要管but GitHub does not provide shell access.这一段意思是服务器不允许直接ssh连接到终端,对于push pull等不影响

在这里插入图片描述


总结

以上就是今天要分享的内容,希望大家也能跟具这篇文章真正掌握配置git多账号的技能。

你可能感兴趣的:(Gitlab,git,服务器,ssh)