因为比较穷的原因,买不起配置太好的服务器,而gitlab所需的机器内存最少要4G,想要一个私有git服务越来越遥不可及~
最初
我们有一台内存为2G的阿里云服务器,想要碰碰运气,然而装上了之后机器炸了,内存爆满,啥也干不了,于是想起了swap,设置了4G的swap之后,果然,机器虽然卡,但是gitlab能用了!但是后来查资料,说是SSD做swap会对硬盘有很大损耗,虽然机器不是自己的,但是总觉得良心不安~
后来
想到自己搭建ngrok服务,通过内网穿透访问gitlab,经过几天的鼓捣,终于可以访问了,当我满心欢喜的执行我最拿手的git clone时,我惊呆了……
惊恐的我去看了看gitlab的配置,没错啊,有公钥啊,一瞬间我陷入了对人生和社会的大思考~
解决
其实就是 ssh 非 22 端口的配置问题,在客户端的~/.ssh/目录下新建一个config目录配置好 Port 就可以了,但是因为服务器穿透了两个内网服务器,端口又类似,我又搞混了,所以又花了些时间。各位一定要细心啊啊啊
总结
- 在gitlab中添加自己的公钥
公钥位置: ~/.ssh/id_rsa.pub
如果没有公钥(就是没有这个文件)的话,使用
ssh-keygen
后一顿回车就有了
当然,如果你连 git 的用户名和邮箱也没有配置的话那就先要
git config user.name "your name"
git config user.email "your email"
到此,你已经将ssh公钥添加到gitlab了,后面就是配置自己的ssh通过非标准端口(非22端口)进行git操作了
vim ~/.ssh/config
Host gitlab.xxx.xxx.xxx #gitlab地址
HostName gitlab.xxx.xxx.xxx #gitlab地址
User git
Port xx #自己的gitlab端口,是ngrok服务端监听的端口
我这里配置的Host 和 HostName 一致,至于他们各自的作用,可以移步到另一个博主的文章Git 配置SSH的端口号
然后git clone
发现已经可以克隆了,问题解决
写在最后
这是本人的第一个博客,写的比较繁琐,希望尽量适合更多人的问题,其实就是配了一个config,没啥技术难度,只是因为脑子不太好使,记乱了端口导致花了很长时间