Github gitlab 配置 SSH

本文详细介绍了如何在Windows环境下使用gitBash生成SSH密钥对,并在GitLab和GitHub上配置SSH密钥,实现通过SSH协议高效、安全地进行代码提交和拉取。同时,还提供了配置多个SSH密钥的方法,以便于管理多个Git主机。
摘要由CSDN通过智能技术生成

简介

很多公司都选择git作为代码版本控制工具,搭建私有的gitlab来管理代码。
我们在clone代码的时候可以选择http/https协议,也选择ssh协议来拉取代码。
Gitlab,Github都支持这种方式的连接,而且目前https://gitlab.com登录必须要配置ssh登录了。
网上介绍如何用git客户端生成ssh key的文章很多,不过讲解不细致,对于小白用户还是话还是需要费很多功夫,本文介绍如何用本地git客户端生成ssh key并配置在gitlab和github中,而后使用ssh协议进行提交和拉取git远程仓库的代码。

环境准备

  1. 系统:windows, 其他环境类似
  2. git Bash 下载,https://git-scm.com/, 直接点击安装即可,很简单。

第一步:生成密钥对

1、打开本地git bash(可以右键,选择Git Bash here), 如图:
git bash

  1. 使用如下命令生成ssh公钥和私钥对:
ssh-keygen -t rsa -C 'xxx@xxx.com' 

然后一路回车(-C 参数是你的邮箱地址), 如图:ssh 生成

第二步:添加公钥

  1. 打开 ~/.ssh/id_rsa.pub文件(~表示用户目录,例如:windows下就是C:\Users\Administrator),复制其中的内容。

  2. 打开https://gitlab.com, 点击右上角头像,下拉菜单中选择 Setting, 然后在左边的菜单中找到SSH Keys,(或者直接打开https://gitlab.com/profile/keys)
    SSH Keys
    并把上一步中复制的内容粘贴到Key所对应的文本框中,
    在Title对应的文本框中给这个sshkey设置一个名字,
    点击Add key按钮。

  3. 到此就完成了gitlab配置ssh key的所有步骤,可以自由地进行pull 和push 操作了

  4. 对于github 的用户, 打开https://github.com/settings/ssh/new,
    github SSH Keys
    粘贴刚才复制的id_rsa.pub中内容到key中 ,title随便起个名字即可。

第三步:验证

打开 git bash(或者其它git工具或者ide),
找到gitlab上的项目,执行命令
git clone https://gitlab.com/xxxxx/xxx(替换成你的项目地址)
验证
没有输入密码,clone成功。

本地配置多个 SSH key

  1. 大多数时候,我们的机器上会有很多的git host,比如公司gitlab、github、oschina等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github为例)

为github生成一对秘钥ssh key

ssh-keygen -t rsa -C 'yourEmail1@xx.com' -f ~/.ssh/github_id-rsa/zhangsan_github

为gitlab生成一对秘钥ssh key

ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/gitlab_id-rsa/zhangsan_gitlab

为gitlab生成另一对秘钥ssh key

ssh-keygen -t rsa -C 'yourEmail3@xx.com' -f ~/.ssh/gitlab_id-rsa/lisi_gitlab
  1. 在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:
# github zhangsan_github
Host github.com
    HostName github.com
    User zhangsan_github
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id-rsa/zhangsan_github
# gitlab zhangsan_gitlab
Host gitlab.com
    HostName gitlab.com
    User zhangsan_gitlab
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id-rsa/zhangsan_gitlab
# github lisi_gitlab
Host gitlab.com
    HostName gitlab.com
    User lisi_gitlab
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id-rsa/lisi_gitlab
 

# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径
  1. 按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
  2. OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。
  3. 再次查看.ssh/gitlab_id-rsa目录下的文件,如下:
    zhangsan_github
    zhangsan_github.pub
    zhangsan_gitlab
    zhangsan_gitlab.pub
    lisi_gitlab
    lisi_gitlab.pub

git常用工具

https://gitforwindows.org/

要同时配置GitLabGitHubSSH,你可以按照以下步骤进行操作: 1. 打开终端并进入.ssh文件夹,可以使用以下命令: ``` cd ~/.ssh ``` 2. 查看是否已经存在id_rsa_gitlab和id_rsa_github的公钥文件,可以使用以下命令: ``` ls id_rsa_gitlab.pub ls id_rsa_github.pub ``` 3. 如果公钥文件不存在,你需要生成新的SSH密钥对。可以使用以下命令来生成: ``` ssh-keygen -t rsa -C "your_email@example.com" ``` 这会在.ssh文件夹下生成一个新的SSH密钥对,并且会要求你提供一个文件名和密码。 4. 复制id_rsa_gitlab.pub的内容,并将其添加到你的GitLab帐户中的SSH密钥设置中。可以使用以下命令复制内容: ``` cat id_rsa_gitlab.pub ``` 5. 复制id_rsa_github.pub的内容,并将其添加到你的GitHub帐户中的SSH密钥设置中。可以使用以下命令复制内容: ``` cat id_rsa_github.pub ``` 6. 配置SSH config文件,以便区分GitHubGitLab。可以使用以下命令编辑config文件: ``` nano ~/.ssh/config ``` 然后按照以下格式添加配置信息: ``` # GitHub Host github.com HostName ssh.github.com User your_github_email@example.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_github Port 443 # GitLab Host gitlab.com HostName gitlab.com User your_gitlab_email@example.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_gitlab ``` 注意替换your_github_email@example.com和your_gitlab_email@example.com为你自己的GitHubGitLab邮箱。 回答完问题后的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值