ubuntu 配置git服务器及其它

update:

生产public key的时候不能按照github上的keygen -t rsa -C
否则不能用还会导致如下错误:
Agent admitted failure to sign using the key
解决办法见最后

刚刚配通了git在vm上, 自己出错的地方,
1. 不能把gitosis.conf的格式写错,否则,就只能上服务器上改
2. checkout 下代码,git diff就不一样
流程如下:

1. 安装gitosis

$ cd /tmp
$ sudo git clone git://eagain.net/gitosis.git
$ sudo apt-get install python-setuptools
$  cd gitosis
$ sudo python setup.py install


2. 创建git用户
$ sudo adduser \
    --system \
    --shell /bin/sh \
    --gecos 'git version control' \
    --group \
    --disabled-password \
    --home /home/git \
    git


3. 初始化
在这之前,把你自己的public ssh key放在 /tmp/目录下
如果你发现没有ssh,你先安装,如果 ~/.ssh/id_rsa.pub 没存在的话
试试
$ ssh-keygen -t rsa
$ sudo cp ~/.ssh/id_rsa.pub /tmp/
$ sudo -H -u git gitosis-init < /tmp/id_rsa.pub
$ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update


4. 试一下

$ git clone git@{你的ip}:gitosis-admin.git
$ cd gitosis-admin


5. 如果你还想...
看看gitosis-admin有如下文件
引用
gitosis.conf  keydir/


你可以试一下创建一个项目, 编辑gitosis.conf
加入
[repo test]
 description = git for test
 owner = joey@joey-laptop
  
 [group test]
 writable = test
 members =  joey@joey-laptop who@who-laptop


你可以把你的朋友加进来who@who-laptop
然后把其对应的public key拷贝在 keydir/[email protected]

改完gitosis.conf后
git commit -a -m "your message"
git push


然后随便一个目录
$ mkdir test
$ cd test
$ git init
$ git remote add origin git@xxxx:xxx.git

把你的代码拷进来
$ git add *
$ git commit -m "your message"
$ git push origin master:refs/heads/master



差不多了

4、启动ssh-agent
如果ssh 192.168.112返回 Agent admitted failure to sign using the key
ps -Af|agent查看有无ssh-agent有无运行,若没有

miao@u32-192-168-1-110:~/.ssh$ ssh-agent
5、添加id_rsa到ssh-agent

miao@u32-192-168-1-110:~/.ssh$ ssh-add id_rsa

你可能感兴趣的:(python,git,ubuntu,ssh,Ruby)