2

1.在服务器上创建一个新用户

adduser git

2.创建一个Git仓库

cd /data/git //切换到希望创建工作区的目录
git init --bare sample.git //创建一个Git仓库,此时Git会创建一个唯一分支master
chown -R git:git sample.git//将sample.git的所有权从root修改到新创建的git

3.在服务器端打开RSA认证

在文件/etc/ssh/sshd_config中添加下列三行内容:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

创建用于存放客户端公钥的文件

cd /home/git //切换到刚刚创建的git用户目录下
mkdir .ssh
vim authorized_keys //创建用于存放客户端公钥的文件

4.在客户端创建SSH key

ssh-keygen -t rsa -C "sample@geekzhou.com"

该命令会在用户主目录的.ssh文件夹下生成两个文件:用于保存私钥的id_rsa和用于保存公钥的id_rsa.pub

5.把步骤4生成的公钥导入服务器

将生成的id_rsa.pub中的内容拷贝到服务器文件/home/git/.ssh/authorized_keys

6.在客户端clone远程git仓库

git clone git@115.28.222.133:/data/git/sample.git
其中115.28.222.133是服务器端的IP地址
(由于进行了步骤4和步骤5的设置,所以在clone仓储的时候就无需再输入密码了)

7.禁止用户git通过shell进行登录

由于进行了步骤4和步骤5的设置,此时客户端可以通过ssh git@115.28.222.133 直接登录到服务器,如需禁止,修改文件/etc/passwd:

将git:x:1000:1000::/home/git:/bin/bash
修改为:git:x:1000:1000::/home/git:/usr/bin/git-shell

初始化master分支

在进行了一个commit操作后,master分支就会出现,此时执行git push就可以将本地的修改推送到远程的master分支了.

至此远程git服务器搭建完毕!


geekzhou
56 声望5 粉丝

Http://www.GeekZhou.com