帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
在服务器上配置GitHub和GitLab的SSH
发布时间:2024-03-09 01:08:10   分类:帮助文档
在服务器上配置GitHub和GitLab的SSH


2023.11.24
今天突然想把GitHub也配置在服务器上,之前配置了一个Gitlab的SSH在服务器上,过了好久了,忘了怎么配的了。今天重新回忆记录一下。

题外话:
我在想服务器上配置了两个仓库,一个GitHub的一个GitLab的,那我用的时候用哪个呢?怎么切换?找了半天的资料,发现大部分给的教程都是教你怎么去同时配置GitHub和GitLab的,我想要的切换的方法始终没有出现。
后来我发现,woc是我的问题,根本就不需要切换。配置好了直接用就完事,需要GitHub的仓库就
git remote add origin
是GitHub地址,比如:git@github.com:sjtu-jhw/nougat.git。而且我们实际上不这么用,我们一般会在GitHub上先新建个空的repository,然后从GitHub仓库拉到本地,这样就自动建立了我们服务器和和GitHub仓库的联系了。
GitLab和GitHub一样的,我们在GitLab上建一个空repository,拉到本地,就自动建立了服务器和GitLab仓库的联系了。
之所以要配SSH是因为你要能拉取,要不然你拉取都做不到。出现如下的错误:


好的,进入正题,所以问题就变成了如何配置GitHub和GitLab的SSH的问题了。相关的好文章有很多,我这里归纳一下我的做法。
1. 生成ssh key
分别生成github和gitlab的ssh。
ssh-keygen -t rsa -b 4096 -f ~/.ssh/gitlab_key
ssh-keygen -t rsa -b 4096 -f ~/.ssh/github_key
一路回车,生成文件如下: 

 2. 将公钥加到GitHub和GitLab对应的位置
公钥就是以.pub结尾的文件
GitHub:

复制粘贴到下面:

GitLab:

3. 服务器端的一些配置
先去.ssh文件夹下看看:

这里的github_key和gitlab_key前面必须是-rw-------,不能是-rw-rw-r--,否则后面会报错,把它变成-rw-------的方法是chmod 600 github_key:

之后在终端按下面命令执行:
ssh-agent bash
ssh-agent -s
ssh-add ~/.ssh/github_key
ssh-add ~/.ssh/gitlab_key

4. 测试一下通了没有
ssh -T git@github.com

这个地方我出现了个bug,第一次试没通?!然后搜了一下[1],解决了。
GitLab通了没好像没有直接的命令?
可以在GitLab上新建个text的库:

在服务器:
git clone git@git.acemap.cn:jihuawei/test.git
看看下载下来没有,下载下来了,ok,通了。

2023.11.27
今天从github上clone项目突然就不行了。。。报错说是
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

先说一下导致这个的原因,是因为我服务器上有好几个ssh_key,github_key啊,git_labkey啊,还有id_rsa等等,应该是重启之后找不到github用哪个key了。
参考[2],我首先测试连上github没(必然没有)
ssh -T git@github.com

又看了下服务器上有没有ssh
ssh-add -l

 说是agent没有identities,ok,把github_key加上去就ok了。
ssh-add ~/.ssh/github_key

测试一下连上GitHub没
ssh -T git@github.com

通了,下载成功了。
应该有其他更好的配置方法,比如config文件?自动去识别。
后话了。 


香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价