一, git客户端账号生成
1. git的客户端的公钥生成
ssh-keygen -t rsa -C "test@gmail.com"
mac机器会在 /Users/用户/.ssh会生成id_rsa和id_rsa.pub
2. 将id_rsa.pub的文件内容复制到git 服务器的这目录 /home/git/.ssh/authorized_keys
二 git 服务器项目创建和仓库的用户管理
1 创建git 项目
先选定一个目录作为Git仓库,假定是/srv/sample.git
,在/srv
目录下输入命令:
sudo git init --bare sample.git
2. 修改仓库的的用户和组
sudo chown -R git:git sample.git
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git
结尾。然后,把owner改为git
:
3. 禁用shell登录
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd
文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
4.克隆仓库
现在,可以通过git clone
命令克隆远程仓库了,在各自的电脑上运行:
$ git clone testuser@server:/srv/sample.git
这里的testuser是指linux的用户,特别强调的一点,一定要禁用shell 登录
三 git 用户的创建
root@server:~$ useradd testuser -g git -m -s /usr/bin/git-shell
root@server:~$ usermod -G git -a testuser #把testuser同时加入git组
root@server:~$ passwd testuser #设置密码