标签:
(假设服务端和客户端都是Linux)centos6.5
1 服务端:
sudo yum install -y git-core # 安装git
sudo yum install -y openssh-server
sudo yum isntall -y openssh-client
sudo useradd -m git #添加git用户
sudo passwd git #设置git密码
su git #切换到git用户
mkdir example.git
cd example.git
git -bare init #创建裸版本库
2 客户端:生成ssh-key,并且推送到git服务器上
通过 ssh-keygen -t rsa 生成
scp ~/.ssh/id_rsa.pub git@192.168.1.201:~/.ssh/ #scp 把ssh-key推送到git服务器
3 ssh git@192.168.1.201 用git用户登录服务器
cat ~/.ssh/id_rsa.pub >> authorized_keys #建立信任关系
chmod 755 /home/git
chmod 700 /home/git/.ssh
chmod 644 /home/git/.ssh/authorized_keys #这个权限的值需要注意。
exit
4 回到客户端
mkdir example
cd example
git init #初始化git
touch a.txt
git add a.txt
git commit -m ‘fisrt commit‘ a.txt
git remote add origin git@192.168.1.201:example.git #设置远程仓库
git push origin master #推送
5新增加一个开发者
a 在本地生成ssh-key
b 推送到git用户目录下,追加到git用户目录下 ~/.ssh/authorized_keys
6 设置git用户的操作只能与git相关 。
sudo vim /etc/passwd
找到:
git:x:502:503::/home/git:/bin/bash
替换成
git:x:1000:1000::/home/git:/usr/bin/git-shell
现在 git 用户只能用 SSH 连接来推送和获取 Git 仓库
OK~!
标签:
原文地址:http://www.cnblogs.com/wtb123456/p/4430486.html