读书人

Git服务器的筹建全部功略

发布时间: 2012-12-22 12:05:06 作者: rapoo

Git服务器的搭建全部功略

Git For Windows官网 http://code.google.com/p/msysgit/

tortoisegit官网 http://code.google.com/p/tortoisegit/

copssh用于windows下创建SSH服务器 https://www.itefix.no/i2/copssh

Putty http://www.putty.org/

Gitolite官方网址:http://github.com/sitaramc/gitolite
Gitolite在线文档:http://sitaramc.github.com/gitolite/

Git官网 http://git-scm.com/

gitweb官网 https://git.wiki.kernel.org/index.php/Gitweb

学习TortoiseGit教程用这个TortoiseGit日常使用指南.pdf

Git教程用这个 Git中文教程.pdf

一、准备工作:(服务器端操作)

sudo apt-get install highlight vim #安装vim并高亮语法,安装Gitolite的时候要用到。如果已安装了此部可省掉。

二、Ubuntu下安装SSH Server(服务器端操作)

ubuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server。判断是否安装ssh服务,可以通过如下命令进行:

ssh localhost

安装命令:

sudo apt-get install openssh-server

系统将自动进行安装,安装完成以后,先启动服务:

sudo /etc/init.d/ssh start

启动后,可以通过如下命令查看服务是否正确启动

ps -e|grep ssh

重启sshd的命令

/etc/rc.d/sshd restart

二、Linux下SSH使用rsa认证方式省去输入密码

1、使用本地机器生成密钥(这里使用Git Bash)

#产生 id_rsa, id_rsa.pub

ssh-keygen -t rsa C “kanghui@mtc.com.cn”

枫@FREEBIRD ~ $ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key(/c/Users/枫/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in/c/Users/枫/.ssh/id_rsa.

Your public key has been saved in /c/Users/枫/.ssh/id_rsa.pub.

The key fingerprint is:

22:d4:67:ef:65:ba:8e:07:f7:d1:f9:0a:b1:79:4f:8c枫@FREEBIRD

2、复制生成的id_rsa.pub公钥文件到远程服务器上

# 将 id_rsa.pub丢到 Server上,大家的 publickey都需要传到 Server上.

scp ~/.ssh/id_rsa.pub roan@192.168.35.10:/home/roan/.ssh/authorized_keys

再复制一份到服务器的/temp文件夹下面一会gitolite要用

scp ~/.ssh/id_rsa.pub roan@192.168.35.10:/tmp/MTC.pub#注意MTC.pub在gitolite里面就是你的用户名

还有一个命令简体了命令操作(ssh-copy-id),和上面的操作是一样的。

ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上。

ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限 。

ssh-copy-id-i ~/.ssh/id_rsa.pub roan@192.168.35.10

[注: ssh-copy-id 把密钥追加到远程主机的.ssh/authorized_key 上.]

3、将私钥id_rsa生成Putty格式

putty作为远程客户端在putty不能识别直接从服务器拷贝来的私钥,需要使用puttygen.exe进行格式转换

(1)、打开puttygen.exe--> Conversions --> Import Key

(2)、选择拷贝过来的私钥文件id_rsa

(3)、Save privatekey->id_rsa.ppk(保存私钥)

4、打开putty.exe

1)、Session --> HostName (填写服务器地址或者域名)

2)、Connection -->SSH --> Auth (点Browse选择刚生成的id_rsa.ppk)

3)、open

成功打开后出现如下提示:

login as: root

Authenticating with public key"imported-openssh-key"

----------------------------------------------

当然你有可能会遇到这个错误 [因为我遇到了,呵呵]:

Permissions 0755 for '你配置的公钥文件路径'are too open.

这个是因为这几个文件权限设置的有点问题

执行命令: chmod 600 /root/.ssh/authorized_keys

三、Linux 使用 Gitolite 架设 Git Server

想要控管 User / Project权限, 而且还想要控管 branch / tag等读写权限, 则需要靠 Gitolite 等套件来协助.

§ gitolite - SSH-basedgatekeeper for git repositories

相关资料准备

§ 系统: Ubuntu Linux

§ Server: 192.168.35.10

§ Project name:project_name

§ Gitosis (Git)Repository位置: /home/git/repositories

§ Group name: git

系统套件安装

§ sudo apt-get install gitolite git-core

读书人网 >其他数据库

热点推荐