windows 下搭建git服务器,及问题处理。

  最近要做一个源码管理服务器,权衡了一下还是git最适合,搭建服务器前看了网上一些windows下搭建git服务器的帖子,感觉还比较简单,没有太多需要配置的地方,于是开始动手。

我选择的是 gitfor windows + Tortoisegit + Copssh

gitfor windows下载地址 http://msysgit.github.io/最新版的 Git-1.9.4-preview20140611

  putty 用来测试ssh连接 同时还需要工具 puttygen 用来转换 copssh生成的私钥,它们两个格式不一样,连接的时候不注意就会在这里出问题,我就栽到这个坑里。

先安装Copssh  再 gitfor windows ,Tortoisegit 安装过程比较简单,不想罗列太多的图片,不清楚怎么安装的去找度娘。

安装好之后,有几点需要注意的:

1. 配置Tortoisegit:TortoiseGit>Settings

配置好git路径

2. 创建一个git账户管理员权限

3. 在copssh里激活 git 用户

用户激活成功,下面生成公钥和私钥

输入密码,此密码为ssh密钥登陆密码。私钥名称,私钥默认放在 copssh 安装目录 \ICW\home\用户名  下面   ,公钥在 \ICW\home\用户名\.ssh 下面 名称为:authorized_keys

  

  ok,公钥跟私钥生成成功,下面打开puttygen 将私钥转换成 putty格式

点击 Load 选择刚才生成的 private_key.ppk 文件,输入密码

 

  点击 Save private key 保存私钥,注意不要覆盖原来的私钥,copssh 私钥格式跟 putty私钥格式不一样,测试ssh连接时用 puttygen 生成的私钥

客户端git连接ssh服务器的时候要用copssh生成的私钥。 我在刚开始搭建服务器的时候客户端用的putty生成是私钥,putty测试连接没有问题,用

git 连接是老是报没有权限,郁闷了一天后来才发现问题出在这里。

4. 找到copss安装目录C:\Program Files (x86)\ICW\etc

下面的sshd_config,跟ssh_config 文件

PasswordAuthentication 设置为 no

   port 设置为 22

防火墙打开22端口  用 telnet 命令链接查看是否能够连接,没问题接着下面走

根据自己的安装目录, 将C:\Program Files (x86)\Git\libexec\git-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到C:\Program Files (x86)\ICW\bin目录下

C:\Program Files (x86)\Git\bin 目录下的libiconv-2.dll复制到 C:\Program Files (x86)\ICW\bin目录下

   用putty 测试是否能够连上服务器

  

填上服务器名称端口

Author选项,导入私钥点击 open ,如果能够连接说明ssh服务器搭建成功。

5. 客户端Git配置

(最好的做法是在客户端用  ssh-keygen -t rsa 生成公钥跟私钥  把公钥加到 服务器 \ICW\home\用户名\.ssh 下面 authorized_keys 里面

私钥放到 客户端 用户名/.ssh 目录下)

将生成的私钥放到客户端 用户名/.ssh 目录下

同目录下添加 config文件,注意没有扩展名

文件输入如下内容
Host server            #执行git命令时服务器别名#
HostName 192.168.1.110   #这里是你服务器的地址#
User  git                            #登陆服务器用户名#
IdentityFile ~/.ssh/private_key.ppk #私钥地址#

6. 服务器端 在\ICW\home\用户名 下用Tortoisegit 创建一个文件夹   test.git

右键 Git Create repository here..  勾选 Make it Bare ( No working directories) 创建空仓库

7. 客户端执行 $git clone [email protected]:test.git  输入密码

ok,克隆成功至此git服务器搭建好了!

可能遇到的问题:

A.  私钥不要搞混了用 putty 连接同 git 连接是用两不同的私钥,私钥不对是话会报错:

Permission denied (keyboard-interactive).

fatal:Could not read from remote repository.

如果出现这种情况不能确认是否是私钥有问题时可以这样处理:

到服务器端激活密码验证,

找到copss安装目录C:\Program Files (x86)\ICW\etc

下面的sshd_config,跟ssh_config 文件

PasswordAuthentication 设置为 yes

这样的话连接服务器需要输入git用户 的用户密码,通过用户名登陆,不走密钥验证,如果能连接成功,说明一定是私钥问题。

B. 缺少文件

我在克隆时碰到过缺少libiconv-2.dll 的情况

git 提示 /user/bin/git-upload-pack.exe: error while loading shared libraies: libiconv-w.dd: cannot open shared object file: No such file or directory

只需将C:\Program Files (x86)\Git\bin 目录下的libiconv-2.dll 复制到 C:\Program Files (x86)\ICW\bin目录下就可以了

第一篇博文,没太注意排版,目的是帮大家解决问题,如果看了我的文章真对大家有所帮助请赞一下咯!

windows 下搭建git服务器,及问题处理。

时间: 2024-10-18 01:42:27

windows 下搭建git服务器,及问题处理。的相关文章

Windows下搭建Git服务器各种问题汇总(一)

************************************************************************************************************ 在使用Git Push代码到数据仓库时,提示如下错误: ...[remote rejected] master -> master (branch is currently checked out)... 错误原因以及解决 这是由于服务器git默认拒绝了push操作,需要修改服务器

Windows操作系统下搭建Git服务器和客户端。

本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配置,简单易用.客户端是采用的TortoiseGit工具,UI操作,省去输入命令的麻烦,对于windows用户来说更易于使用. 所需软件: Git服务器端: BONOBO GIT SERVER,下载最新版:http://bonobogitserver.com/ Git客户端: msysgit,下载最新

Windows平台下搭建Git服务器的图文教程

Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必 须做SSH服务器 Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范围内,既然这样,我们可以自己搭建

Windows平台下搭建Git服务器的图文教程(转发)

Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必 须做SSH服务器 Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范围内,既然这样,我们可以自己搭建

本地windows下搭建git的本地服务器

本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H:\gitblit 第二步: 修改gitblit安装目录下的data文件下的gitblit.properties 第17行处:include = defaults.properties 修改为 include = my.properties 第三步: 从data文件夹下找到defaults.prope

在Centos7下搭建Git服务器

简介 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具. 开放源码社区中的有些人觉得BitKeeper

windows下搭建nginx-rtmp服务器

windows下搭建nginx-rtmp服务器 windows下搭建nginx-rtmp服务器 准备工作 安装MinGW 安装Mercurial 安装strawberryperl 安装nasm 下载nginx相关的源码包 编译nginx nginx-rtmp环境搭建 效果测试 最后说明 最近因为接触直播相关的技术工作,使用的也是基于高并发和高性能的nginx,首先需要做的当然是搭建一个nginx服务器. 对于linux上nginx服务器的搭建此处就不再赘述,按照操作指引来的话一般都能顺理成章搭建

Windows下搭建FTP服务器

以Windows8 为例,介绍一下搭建 FTP服务器的步骤: 1.为Windows开启FTP功能:控制面板->程序->启用或关闭Windows功能,将下图所示的复选框选中 2.添加FTP站点:右键计算机->管理->服务和应用程序,选择Internet 信息服务 IIS 管理,如下图所示添加FTP站点 3.设置站点名称和你想要公开的路径 4.绑定地址和ssl设置: ip地址填上本机地址,端口默认21,需要ssl,证书选择IIS Express Development Certific

在Linux下搭建Git服务器的方法是什么样?

第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令. sudo yum install git 第二步 添加git用户,因为git服务器只限定来做项目代码交流的,专门开出一个用户来访问git服务器,比较好管理和控制. sudo adduser git 第三步 设置git用户的登陆密码.因为git提供ssh协议登陆功能,网上有的采用了存储客户端rsa_pub密码的方式来免密登陆,但是我按照这个方法存储了