您的位置:首页 > 其它

windows下配置Git服务器

2013-04-28 15:21 211 查看
参考网址:http://www.open-open.com/lib/view/1328355596640

http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必 须做SSH服务器。

一、安装GIT

Windows下使用msysgit,下载地址:http://code.google.com/p/msysgit/

本文使用Git-1.7.8-preview20111206.exe 安装要点步骤如下:







安装完成后,可以使用Git bash在命令行模式下操作git







二、安装CopSSH

安装CopSSH之前先确保防火墙开启了SSH端口,这个虽然不影响CopSSH的安装,但是影响SSH访问,所以写在前面。



CopSSH是windows下的SSH服务器软件,下载地址baidu之,本文使用的是Copssh_4.1.0_Installer.exe,安装要点如下:

下载地址:ftp.psu.ac.th/pub/copssh/





安装完成后,到控制面板中新建一个管理员账户root,用这个账户来共享SSH。然后你在账户管理中会看到之前的SvcCOPSSH账户。



打开copssh控制面板



将root用户添加到CopSSH用户中,为简单操作,允许使用密码认证方式





若是不允许密码认证,则需要使用公钥密钥方式认证,不在本文讨论。



三、CopSSH中使用GIT

现在已经安装GIT和CopSSH,接下来需要做的就是让CopSSH可以使用GIT的命令,这样不仅能够远程SSH管理GIT服务器,而且可以将GIT仓库通过SSH共享。具体的操作方法是将GIT的某些命令程序和动态链接库复制到CopSSH安装目录下即可。

l 将$ Git\libexec\git-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到$ICW\bin目录下

l 将$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下

重启CopSSH即可

四、使用公私钥方式登录(在$ICW目录下,即CopSSH的安装目录)

1、编辑etc/sshd_config,去掉"RSAAuthentication", "PubkeyAuthentication"前面的#注释,保存;

2、在ICW/home/git/.ssh里新建一个authorized_keys文件,把客户端(用户)的公钥复制过来(其他客户端就新增一行),重新启动"openssh SSHD"服务;

参考网址:http://blog.163.com/clevertanglei900@126/blog/static/11135225920101166432957/

五、在linux下通过访问服务器

遇到


Warning: remote host
identification has changed!

的错误
解决方法:
在linux下运行命令
ssh-keygen -R 服务器ip
参考网址:http://www.tux-planet.fr/warning-remote-host-identification-has-changed/
通过命令 ssh -T root@服务器IP ls 即可看到服务器目录
或者

将本地.ssh目录下的 known_hosts文件删除

六、Windows 通过公钥访问Git Server
参考网址:http://blog.csdn.net/sheismylife/article/details/7545948

.请先安装Git bash和TortoiseGit程序。

在安装的使用一路next不要改变选项

2.用运行Git bash,在bash终端上运行

ssh-keygen.exe

不要输入密码,

最后会告诉你生成了公钥和私钥文件,记住名称。

3.将公钥文件改名,根据文件内容的最后一个字符串,然后按照我的这篇文章里面的(5.加入新用户)方式加入到Git server中。

http://blog.csdn.net/sheismylife/article/details/7204345

4.运行TortoiseGit中的Puttygen程序,导入2产生的私钥文件(或其他私钥文件如linux下的私钥),然后保存成后缀名为ppk的私钥文件

5.运行TortoiseGit中的Pageant程序,导入ppk私钥文件

好了,现在用TortoisGit clone吧。

比如git@10.112.18.175:gitosis-admin.git

这种方式的好处是不需要输入用户名和密码,可以在Windows server上通过脚本直接定时访问Git server.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: