Ubuntun下GIT服务器的建立
使用环境:小团队
安装openssh-server, git
sudo apt-get install git |
添加git账号
这儿方案中,所有的人共享一个账号,即git账号:sudo adduser git
按照提示设置账号内容,密码等。
配置登陆认证
使用公钥来避免每次都需要输入密码的麻烦。可以给每个用户配置一个不同的公钥。
这里直接在Ubuntu上为用户生成公钥-密钥对,把公钥加入认证文件,密钥发给用户。ssh-keygen
为不同的用户指定不同的文件名,比如:id_rsa.wxue,将生成id_rsa.wxue和id_rsa.wxue.pub。
cat .ssh/id_rsa.wxue.pub |
这些密钥可以用来登陆git账号了。
创建GIT仓库
把git的仓库放在/opt/gitrepo下
cd /opt |
修改权限
现在git账号的权限,只能做git相关的操作sudo vim /etc/passwd
把git的shell从/bin/bash
改为/usr/bin/git-shell
客户端配置
- 说说在osx下的配置,其他linux系统也是一样。
把相关用户的密钥放在它电脑的.ssh目录下,然后编辑或是创建config文件$ vim ~/.ssh/config
在config文件中加入如下内容:如果只有一个id_rsa密钥文件,也可以不创建config文件。Host 192.168.1.222 192.168.1.222
IdentityFile ~/.ssh/id_rsa.wxue
修改config文件的属性$ chmod 644 ~/.ssh/config
文件的目录也可以做一下限制,只有git帐号才可以打开:$ sudo chown git:git gitrepo
- windows下的配置
Windows下一般使用图形化工具TortoiseGit。TortoiseGit如果使用plink则无法使用id_rsa,需要转换从PuTTY Key Generator格式的ppk密钥。在TortoiseGit目录下可以找到PuTTY Key Generator工具,把id_rsa导入进去,并保存成ppk文件,放在用户目录的.ssh目录下。
还没完,还需要在TortoiseGit目录中找到Pageant程序,把ppk文件加入到里面。或者,在添加remote的时候,把ppk绑定进来。