LINUX Ubuntu 搭建 git 服务器

linux ubuntu 搭建git 服务器

准备
  • 一台linux 服务器即可, 需具备sudo 权限

我这里是用的Ubuntu的服务器,只需要简单的apt命令即可完成

步骤
一、安装git

cmd : apt-get install git

root@fengtangzheng:~# apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.7.4-0ubuntu1.6).
0 upgraded, 0 newly installed, 0 to remove and 17 not upgraded.
二、创建 git 用户

在服务器上做操作,最好针对每一类操作设置独立的账号,保障服务器安全。
PS: 如果为私人服务器或者对权限控制无要求,可以直接使用root账号即可,跳过此步骤

2.1 创建用户
adduser --home-dir /home/git git

输入自定义密码后
一路回车即可创建 用户 git

2.2 权限控制

上述方法创建的git用户拥有shell 权限,这里需要控制其权限仅能执行 git 相关操作

编辑 /etc/passwd 文件
将:

git:x:1000:1000:,,,:/home/git:/bin/bash

修改为:

git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell

类似的,若要修改其他的权限也可通过此方式。

三、ssh 免密登录

如果不设置ssh免密登录,每次clone, push 等操作都需要输入服务器密码(创建用户时设置的密码

4.1 创建密钥对

在本地电脑的用户主目录下,查看是否有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,则创建 ssh 密钥对, 打开 git bash (windows git 客户端), 输入命令:

$ ssh-keygen -t rsa -C "youremail@example.com"  

一路回车即可,创建完成后, 用户目录的 .ssh 文件夹下出现id_rsaid_rsa.pub两个文件, id_rsa 为私钥,自己妥善保管,不可泄露, id_ras.pub 为公钥,可以告知他人

4.2 公钥 id_rsa.pub 导入git 用户(其他用户也一样)

一般来讲,服务器都已经开启的sshd 服务(提供ssh访问功能),如果未开启则:在服务器上编辑**/etc/ssh/sshd_config**文件将RSA认证打开,即:

RSAAuthentication yes     
PubkeyAuthentication yes     
AuthorizedKeysFile  %h/.ssh/authorized_keys

AuthorizedKeysFiles 指定的文件即为服务器存储公钥的文件。将上一步创建的公钥拷贝进此文件即可。多个公钥分行存放。

PS: 注意到, AuthorizedKeysFile 的值中有个 %h 符号, 这代表当前登录用户的用户目录,这里表示第二步创建用户指定的 /home/git 目录
PS:其他用户也一样, copy 公钥到对应的用户目录下的 .ssh/authorized_keys 即可

4.3 重启sshd 服务

本人自己搭建的时候,发现公钥导入authorized_keys 文件后,必须重启sshd 服务,否则仍然无法通过ssh登录,这一点很多博客上没有提到,浪费不少时间

service ssdh restart
四、初始化git仓库

创建好git 仓库 目录,如: /data/git/note.git/

将 /data/git 目录的所有人修改为 git, 在 /data/ 目录下运行命令

chown -R git:git git

/data/git/ 目录下 运行命令:

git init --bare note.git

就生成了一个空的仓库

五、git clone

本地电脑尝试 clone 服务器仓库

$ git clone git@114.115.145.126:/data/git/note.git
Cloning into 'note'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

clone 成功,且无需输入密码

PS: 如果为创建专门的 git 用户, 則:git clone root@114.115.145.126:/data/git/note.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值