gitlab或github配置ssh key

本文详细介绍如何在本地Git客户端生成SSHKey,并配置至GitLab和GitHub,实现通过SSH协议安全地提交和拉取代码。同时,讲解了如何在本地配置多个SSHKey,以便不同项目主机使用各自独立的SSHKey。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

目前很多大公司都是采用的git来管理项目,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。但是网上很少找到如何用git客户端生成ssh key,然后配置在gitlab,我当时在做的时候苦于摸索,后来终于找到了解决方案,那么本文,我们就来聊一聊如何本地git客户端生成ssh key,然后配置在gitlab里,而后使用ssh协议进行提交和拉取git远程仓库的代码。。

如何生成ssh key

1.ssh-keygen -t rsa -C 'xxx@xxx.com' 引号里面填如果邮箱地址
在这里插入图片描述
2.然后打开/.ssh/id_rsa.pub文件(表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容
3.打开gitlab,找到Profile Settings–>SSH Keys—>Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
在这里插入图片描述
4. 到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了
5.再试一下拉取代码和提交代码,应该就不需要输入密码了

本地配置多个 ssh key

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

ssh-keyken -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/id_rsa_gitlab

2.为github生成一对密钥

ssh-keyken -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/id_rsa_github

3.在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:

### gitlab
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id-rsa
### github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id-rsa
  ​
### 配置文件参数
### Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
### HostName : 要登录主机的主机名
### User : 登录名
### IdentityFile : 指明上面User对应的identityFile路径
要同时配置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、付费专栏及课程。

余额充值