1 安装openssh的服务器端(gitserver)
Sudo apt-get install openssh-server
2 修改ssh的配置文件(gitserver)
cd /etc/ssh
sudo cp sshd_config ssh_config.bak
sudo vi sshd_config
Port 22 #ssh服务的登录端口
PermitRootLogin no #禁止root用户登录
StrictModes yes #检查密钥的用户和权限是否正确
RSAAuthentication yes #启用RSA认证
PubkeyAuthentication yes #启用公钥认证
Password Authentication no #禁止密码认证
ServerKeyBits 1024 #将serverkey强度改为1024比特
PermitEmptyPasswords no #禁止空密码登录
3 重启ssh服务(gitserver)
sudo /etc/init.d/ssh restart
4 安装git-core,gitk,git-gui(gitserver)
sudo apt-get install git-core gitk git-gui
5 安装gitosis 参考:http://git-scm.com/book/en/Git-on-the-Server-Gitosis (gitserver)
新建一个文件夹,用来存放下载的gitosis安装文件,如
cd path #path 为一个路径
mkdir gitosis-setup #创建文件夹用来存放gitosis的安装文件
cd gitosis-setup #转移到gitosis-setup目录下
git clone https://github.com/res0nat0r/gitosis.git #gitosis的安装文件克隆到gitosis-setup目录下
cd gitosis #转移到gitosis目录下
sudo python setup.py install #安装gitosis
注意:在执行sudo python setup.py install前,需要保证已经安装了python和setuptools软件(sudo apt-get install python-setuptools.py)
6 新建账户(gitserver)
在服务器上新建一个账户,用来管理git仓库和gitosis-admin。
使用如下命令新建账户:
sudo useradd –m git:创建一个名为git的账户
sudo passwd git:运行此命令后,可设置git账户的密码
7, 生成管理员密钥 参考:http://git-scm.com/book/zh/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E6%9E%B6%E8%AE%BE%E6%9C%8D%E5%8A%A1%E5%99%A8
创建一个名为git的用户,并为其创建一个.ssh目录
sudo adduser git
su git
cd
mkdir .ssh
#生成rsa密钥 参考:http://git-scm.com/book/zh/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5
ssh-keygen
/home/git/.ssh/id_rsa
cd .ssh
#id_rsa是私钥, d_rsa.pub是公钥
8 初始化gitosis (gitserver)
su gitserver
cp id_rsa.pub /home/gitserver/id_rsa.pub
cd /home/gitserver
sudo chmod 777 ./id_rsa.pub
sudo -H -u git gitosis-init < ./id_rsa.pub
此时,会在/home/git目录下生成两个文件夹,分别是gitosis和repositories