详解:为GitHub、Gitlab帐号同时添加、管理多个SSH-Key

GitHubGitLab是目前最流行的代码托管平台,前者经常用于我的代码托管,然后者经常使用于企业代码托管。所以在实际工做中,咱们一般会在同一台电脑设备上,使用这两个平台进行代码托管。git

SSH-Key是这两个平台的密钥认证方式,为本身的电脑添加密钥认证,能够更加简单、高效、安全地完成代码托管的工做。github

本文将详细讲解如何在同一台电脑上为两个平台添加不一样的SSH-Key,而且管理这些密钥。安全

实例讲解

1. 注册帐号

用本身的邮箱注册GitHubGitlab帐号,注册过程忽略。bash

在这里插入图片描述

在这里插入图片描述

2. 下载Git

Git安装包网址ssh

在这里插入图片描述

进入网站下载本身电脑对应的版本、直接安装便可。gitlab

安装完成后,在CMD中输入下面的代码,查看Git的版本号。测试

git -- version
复制代码

在这里插入图片描述

3. 生成SSH-Key

打开GitBashGit安装成功后会自动在鼠标右键添加GitBash)输入如下命令生成密钥。网站

在这里插入图片描述

ssh-keygen -t ed25519 -C "email@example.com"  -f ~/.ssh/gitlab_id_rsa

ssh-keygen -o -t rsa -b 4096 -C "email@example.com" -f ~/.ssh/gitlab_id_rsa

email@example.com 表明注册Gitlab帐号时用的邮箱

-f 表明文件名

~/.ssh/ 表明ssh的文件路径

gitlab_id-rsa 表明ssh文件名(能够自定义)
复制代码

在这里插入图片描述

在这里插入图片描述

到这里,咱们就生成了一个Gitlab的密钥,GitHub密钥的生成方式同上。ui

4. 添加SSH-Key

复制密钥的方式有两种。加密

  1. 输入cat ~/.ssh/ssh文件名 | clip ,例如cat ~/.ssh/gitlab_id_rsa.pub | clip,复制ssh key。

  2. 直接用记事本打开gitlab_id-rsa.pub,复制SSH-Key

复制好对应平台的密钥后,就能够到对应平台的SSH-Key中添加密钥了

在这里插入图片描述

在这里插入图片描述

5. 测试密钥

添加完SSH-Key后,咱们须要测试密钥是否可用,以GitHub为例,在GitBash中输入如下的命令。

ssh -T git@github.com
复制代码

在这里插入图片描述

如图所示GitHub的密钥认证成功,Gitlab密钥认证的测试方式同上。

须要注意的是,因为Gitlab是私有代码仓库,测试时须要在git@后面输入Gitlab所在ip地址域名,才能正确测试。

6. 多个密钥管理

当你在同一台电脑下生成多个密钥时,你就须要对多个密钥进行认证管理,不然你的密钥将没法正常使用。

具体步骤以下。

6.1 添加config文件

首先在./ssh/文件夹下手动config文件,配置密钥信息。

在这里插入图片描述

# gitlab
Host gitlab.com
HostName gitlab.com
User root
IdentityFile ~/.ssh/id_rsa

# github
Host github.com
HostName github.com
User root
IdentityFile ~/.ssh/id_rsa_github

Host 表明 关键词
HostName 表明 主机地址
User 表明 用户名
IdentityFile 表明 认证文件

复制代码

6.2 添加密钥信任

完成配置,还须要对每一个密钥添加信任,打开Git Bash 输入下面的指令。

eval $(ssh-agent -s)

ssh-add ~/.ssh/other_id_rsa

eval 表明 开启代理认证指令

ssh-add 表明 添加ssh文件认证
复制代码

在这里插入图片描述

须要重点提醒,config文件主要用于管理密钥信息,并无实际功能,不添加config文件直接为密钥添加信任也是能够的。

可是考虑到密钥信息的管理,强烈建议添加config文件,配置好密钥的信息。

6.3 gitlab官方示例

在这里插入图片描述

7. 多密钥认证测试

完成多秘钥认证后,经过ssh -T git@,测试不一样平台的密钥是否能链接成功。

7.1 GitHub

在这里插入图片描述

7.2 Gitlab

在这里插入图片描述

Git经常使用命令

最后附上经常使用的Git命令,供你们参考使用

1. 远程仓库相关命令

检出仓库:$ git clone [git url]
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push[name][newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
复制代码

2. 分支(branch)操做相关命令

查看本地分支:$ git branch
查看远程分支:$ git branch -r

建立本地分支:$ git branch [name] ----注意新分支建立后不会自动切换为当前分支
切换分支:$ git checkout [name]
建立新分支并当即切换到新分支:$ git checkout -b [name]

建立远程分支(本地分支push到远程):$ git push origin [name]
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并

删除本地分支:$ git branch -d [name] 
删除远程分支:$ git push origin -d [name]
复制代码

3. 本地项目链接远程仓库

查看当前项目下全部文的状态:$ git status

(.)点表示当前目录下的全部内容,交给git管理:$ git add .

对你更新或修改了哪些内容作一个描述:$ git commit –m”new natter ”

查看你当前项目远程链接的是哪一个仓库地址:$ git remote -v 

将本地的项目提交到远程仓库中:$ git push origin master 

将远程仓库项目拉到本地项目中:$ git pull origin master
复制代码

结语

以上就是本文的所有内容了,感谢你的阅读,若是你有什么疑问或者建议,欢迎你随时留言,互相讨论。

最后,祝工做顺利,生活幸福。

在这里插入图片描述
相关文章
相关标签/搜索