Git - 配置并使用多个SSH KEY

32 篇文章 0 订阅
14 篇文章 1 订阅
转载请注明出处:https://blog.csdn.net/mythmayor/article/details/107462004

引言

Git的传输协议一共分为四种:本地、ssh、git和http。我们先来简单介绍一下这四种协议。
1.本地协议

本地协议:顾名思义,远程仓库在该协议中的表示,就是硬盘上的另一个目录 优点:简单 缺点:所有迭代仓库存储本地一台电脑的情况,增加灾难性数据损失的可能性。

$ git clone file:///opt/git/project.git
2.ssh协议

ssh协议:唯一一个同时支持读写操作的网络协议 优点:安全-- 所有数据传输都是加密和授权的,高效–传输之前尽可能压缩数据 缺点:因为安全的机制的存在,它不能实现仓库的匿名访问。

$ git clone ssh://user@server:project.git
3.git协议

git协议: 优点:最快 缺点:缺少授权机制

$ git clone git@gitlab.com:xxxxxxx/text.git
4.http协议

http/s协议:超文本传输协议 优点:简便 缺点:效率更低

$ git clone https://gitlab.com/xxxxxxxx/text.git
从上面的对比结果来看,用ssh协议确实更有优势。当然,这并不是本文想要重点阐述的问题。
我们在使用ssh协议的时候,需要生成ssh key,如果多个平台(例如同时使用GitHub和Gitlab)都要使用ssh,那么就要生成多组ssh key并进行配置。

一、生成SSH KEY

Linux、mac用户使用默认终端即可,Windows下建议使用CMD命令操作,进入到C:/Users/用户名/.ssh目录下,执行以下命令:

$ ssh-keygen -t rsa -C "你的邮箱” -f id_rsa_github

如上所示,我在这里生成了github平台的ssh key,如果你想要生成其它平台的,你可以将id_rsa_github改成id_rsa_gitlab、id_rsa_company或其它任何你想改成的名字。

Windows会在C:/Users/用户名/.ssh目录下生成ssh key的文件。

二、添加私钥

执行以下命令:

ssh-add ~/.ssh/id_rsa_github

如果执行ssh-add时提示"Could not open a connection to your authentication agent",则需先执行以下命令:

ssh-agent bash

添加成功会出现提示:Identity added 等字样。

三、查看私钥列表是否存在

执行以下命令:

ssh-add -l

如果有列表展示出来则证明添加成功了。

四、添加或修改配置文件config

在目录下创建config文件,并在该文件中添加或修改以下内容


# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件(可以直接填写ip地址)
# HostName : 要登录主机的主机名(建议与Host一致)
# User : 登录名(如gitlab的username)
# IdentityFile : 指明上面User对应的identityFile路径
# Port: 端口号(如果不是默认22号端口则需要指定)

Host github.com
    HostName ssh.github.com
    User <your-email> #你的Github邮箱
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github
    Port 443 

Host <gitlab-address> #公司的gitlab地址
    HostName <gitlab-address> #与Host保持一致即可
    User <your-email> #你的Gitlab邮箱
    IdentityFile ~/.ssh/id_rsa_gitlab
    Port <gitlab-port> #公司的gitlab端口

五、将公钥添加到Github、Gitlab等平台。

在Github、Gitlab等平台,添加ssh的步骤一般为:点击个人中心,然后点击设置(Settings),之后就会看到有一项关于SSH设置的选项,点击打开即可。

Github

打开生成的id_rsa_github.pub文件,将内容复制到下面的输入框中
在这里插入图片描述

Gitlab

打开生成的id_rsa_gitlab.pub文件,将内容复制到下面的输入框中并点击"Add key"按钮
在这里插入图片描述

五、用ssh命令测试验证

最后可以通过以下命令进行验证了:

ssh -T git@github.com
或
ssh -T git@<IP-address>

六、使用

到这里你就可以使用SSH协议了,记得在Git地址旁边的选项中将协议更改为SSH就好了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值