git 在linux下服务端搭建

本文以centos为例,其他linux请自行参照对应方式。

1. 服务端安装git

yum install git

2. 服务端添加无shell登录权限的用户,将username替换为要添加的用户

useradd -s /sbin/nologin username

3. 初始化仓库

git init --bare sample.git

4. 在客户端,也就是gitbash(windows用户)生成密钥和公钥,邮箱地址改为你自己的,当然后面的两个 -t  和 -C 参数可以不要。

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

然后到用户目录(默认)找到.ssh文件夹下的.pub扩展名的文件,编辑器打开复制

5. 服务端打开git权限,并设置保存公钥的目录

进入ssh的设置路径

vi /etc/ssh/sshd_config

将如下上注释#符号去掉保存并退出

RSAAuthentication yes     
PubkeyAuthentication yes     
AuthorizedKeysFile  .ssh/authorized_keys

从上面的代码中可以看到保存authorized key的路径在 /home/git/.ssh/authorized_keys 下

5. 将公钥文件添加到服务端的git的配置文件中

根据上一步获得的key路径,我们进入/home/git,发现不存在.ssh文件夹,新建文件夹 .ssh,并进入该文件夹(其实默认ls命令是不显示点开头文件夹的),然后新建文件authorized_keys,将第4步中获取的公钥保存到该文件并退出。然后重启ssh

cd /home/git/
mkdir .ssh
cd .ssh
vi authorized_keys
#粘贴第四步中复制的龚玥
#保存退出
service sshd restart #重启sshd

6. 至此,即可在客户端通过git clone免密码提交或更新了

git clone git@serveripOrserverName:/path/to/rep.git

 

posted @ 2016-08-24 18:30  前端小小菜  阅读(945)  评论(0编辑  收藏  举报