您的位置:首页 > 其它

搭建本地Git服务器6步走

2015-10-28 10:54 351 查看

1. 在服务器上安装git和ssh

2. 在服务器上新建一个用户,比如就叫git

sudo adduser git


3. 在服务器上新建一个目录来放置git仓库

mkdir gitrepo
git init --bare project.git


4. 在服务器上新建ssh目录来存放访问成员的ssh公钥

mkdir .ssh


5. 在客户端上生成本机的ssh key,然后传递给服务器。

ssh-keygen
sudo scp id_rsa.pub git@192.168.174.147:~/z_id_rsa.pub


6. 在服务器上把用户公钥添加到authorized_keys文件中

cat z_id_rsa.pub >> ~/.ssh/authorized_keys


现在就可以在客户机上操作远程仓库了!

git clone git@192.168.174.147:~/gitrepo/project.git localProject


注1:用户公钥复制到服务器后可以通过shell访问服务器,有时很危险,怎么禁止用户通过shell访问呢?

将服务器上的/etc/passwd文件修改一下:



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


改为:

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


这样用户在他的电脑上用shell来访问服务器时就会是这样:

ssh git@192.168.174.147

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Oct 28 19:20:43 2015 from 192.168.174.146
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Connection to 192.168.174.147 closed.


注2:上面的 git init --bare project.git 是创建了一个空仓库,是没有工作区的,只是为了共享。

--End--
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: