最近要做一个源码管理服务器,权衡了一下还是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 git@server: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目录下就可以了

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

转载于:https://www.cnblogs.com/fengh/p/3922635.html

windows 下搭建git服务器,及问题处理。相关推荐

  1. windows下搭建Git服务器

    第一步:下载Git服务端:http://www.gitblit.com/ 不好下载的给您备上百度云链接: 链接:https://pan.baidu.com/s/1PMZP3ZAQNXSsd3NBHQ- ...

  2. CentOS下搭建Git服务器Gitosis

    说明:由于条件有限,我这里使用的是同一台centos的,但教程内容基本上通用. 1.编译安装git git安装教程:http://blog.haohtml.com/archives/10093 2.安 ...

  3. kali系统搭建本地服务器,kali linux 下搭建git服务器

    参考:http://www.cnblogs.com/dee0912/p/5815267.html https://www.liaoxuefeng.com/wiki/001373951630592960 ...

  4. Windows平台下搭建Git服务器

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

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

     Windows平台下搭建Git服务器的图文教程 来源:互联网 作者:佚名 时间:08-27 11:42:10 [大 中 小] Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SS ...

  6. centos7 下搭建git服务器

    总的来说,搭建git和svn形式差不多 1.首先要在服务器安装git环境,创建用户密码和仓库等 2.然后个人主机(基本是window)安装git客户端 3.将个人主机客户端的秘钥写到git服务器的一个 ...

  7. git进入项目目录 windows_Windows下搭建Git服务器

    Windows平台下搭建Git服务器的图文详解及教程 Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不 ...

  8. WindowsXP下搭建GIT服务器

    2019独角兽企业重金招聘Python工程师标准>>> WindowsXP下搭建GIT服务器   Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP ...

  9. 使用gitblit在Windows上搭建git服务器

    使用gitblit在Windows上搭建git服务器 概述 工具准备 安装流程 安装jre-7 测试java环境 解压并配置gitblit 修改data目录下的defaults.properties文 ...

  10. 10分钟教你在Windows上搭建Git服务器

    10分钟教你在Windows上搭建Git服务器 一.下载并安装jdk. 二.下载Gitblit 三.配置 四.运行 五.测试 一.下载并安装jdk. 安装JDK请移步到:2022年最新Java JDK ...

最新文章

  1. Redis的优势和特点
  2. 今年的校招,Java好拿offer吗?
  3. Mac安装code blocks以及解无法打开的问题
  4. iOS 富文本类库RTLabel
  5. Windows和Linux环境下搭建SVN服务器
  6. 【C# 调用 Go 语言】0x2 参数、返回值与类型转换
  7. 回溯算法之布罗夫卫队(最大团问题)
  8. 突发!Python再次卫冕,Java和C下降,你怎么看?
  9. mybatis 插入数据后返回自增id
  10. 如何导入一个项目 myeclipse
  11. centos7 firewall-cmd 用活firewalld防火墙中的zone
  12. 数值分析(11)-数值积分
  13. pandora固件运行c语言,潘多拉固件设置单线多播教程
  14. my.cnf文件的内容详细解释
  15. 掌握python字符串容器_Python字符串容器,python
  16. PS1设置(Linux终端开头设置)
  17. oracle 主键 唯一性,oracle 唯一索引,唯一约束,主键之间的联系
  18. 小米上市,雷军或成中国首富?作为科技粉也许你该关注的是这些
  19. 在职研究生如何做选择
  20. USB驱动框架分析1

热门文章

  1. Android Banner图片轮播第三方框架
  2. 用HTML/JScript/CSS做一个简单的登录界面
  3. Delphi Android 下的定时对话框
  4. layer.js 贤心制作的弹出层插件-不仅仅是弹层
  5. 一款开源免费的网站监控系统
  6. 怎样制作CHM格式的电子书?
  7. nsstring sizewithfont的崩溃
  8. 期货交易结算信息(期货结算系统)
  9. 网络工程师秋招面试总结
  10. 假设今天是2015年3月1号星期日,计算13个月零6天后是星期几?距离现在多少秒?