git服务器搭建
发布日期:2021-06-29 12:42:05 浏览次数:2 分类:技术文章

本文共 1654 字,大约阅读时间需要 5 分钟。

    git服务器搭建,本来是一件简单的事情,但是因为网上的很多教程都不详细,造成的后果就是搭建出来的服务器很多的权限的问题,于是折腾了很久,简单记录一下。

测试环境:

    服务器系统:redhat enterprise linux 6.5

    服务器git版本:git version 1.9.0

    服务器IP:192.168.0.2

    客户端系统:Ubuntu 12.04

    客户端git版本:git version 1.7.9.5

服务端操作:    

1.git 安装,不同系统有不同的安装方式,Google一下就有了。

2.创建一个git 用户,不需要为这个用户创建密码,用来运行git服务。

3.创建证书登录:

刚创建的git用户它是它是没有~/.ssh/~/.ssh/authorized_keys文件的 ,因此这里需要手动创建,这里为了避免权限的问题 ,这里的文件创建全部使用git用户处理

adduser gitsu - gitmkdir .sshchmod 700 .sshtouch ~/.ssh/authorized_keys chmod 644 ~/.ssh/authorized_keysvim ~/.ssh/authorized_keys
把公钥复制到
~/.ssh/authorized_keys这里需要注意:切换用户的时候,su - git 中间的 -  不能省略,不然后面可能会出现没有权限创建文件夹ssh。

4.初始化git仓库

为了避免权限的问题,下面的操作请使用开始创建的git用户操作。先选定一个目录作为Git仓库

su - gitcd /home/git/mkdir gittestgit init --bare gittest

5.禁用shell登录

在网络上的很多教程都是通过编辑/etc/passwd文件来完成,

git:x:1001:1001:,,,:/home/git:/bin/bash
改为

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
其实这里有一个坑,应该先使用which git-shell命令获得git-shell 的安装路径,在替换掉/bin/bash。

比如在我服务器中:

[root@redhat git]# which git-shell /usr/local/bin/git-shell
那么上面的
/etc/passwd文件就应该修改为:

git:x:1001:1001:,,,:/home/git:/usr/local/bin/git-shell
到这里服务器端的设置就结束

客户端操作

1.安装git

2.生成 id_rsa.pub文件

$ ssh-keygen -t rsa
一路回车,不需要输入任何的密码,将生成的id_rsa.pub文件里面的内容拷贝到服务端的authorized_keys 文件。这样就可以通过git clone 命令来克隆远程仓库了。

root@ubuntu:~# git clone git@192.168.0.2:/home/git/gittestCloning into 'gittest'...The authenticity of host '192.168.0.2 (192.168.0.2)' can't be established.RSA key fingerprint is 57:81:cc:7c:48:52:4e:a0:f2:16:86:84:ae:d2:32:ee.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.0.2' (RSA) to the list of known hosts.warning: You appear to have cloned an empty repository.
结束。

转载地址:https://caibiao-lee.blog.csdn.net/article/details/52411543 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:linux 网络编程:使用两线程实现socket同时收发数据
下一篇:Android 第三方库使用实例——编写.so库文件

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月03日 18时30分10秒