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 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目录下就可以了
第一篇博文,没太注意排版,目的是帮大家解决问题,如果看了我的文章真对大家有所帮助请赞一下咯!
windows 下搭建git服务器,及问题处理。的更多相关文章
- Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...
- windows 下搭建 git 服务器 gogs
本文基于 windows7 64位 搭建 gogs gogs 官方文档地址:https://gogs.io/docs软件下载地址:https://dl.gogs.io/ 环境要求 数据库(选择以下一项 ...
- Windows下搭建Git服务器各种问题汇总(一)
**************************************************************************************************** ...
- 本地windows下搭建git的本地服务器
本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...
- Windows操作系统下搭建Git服务器和客户端。
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...
- Windows平台下搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- Windows平台下搭建Git服务器的图文教程(转发)
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- Windows下的git服务器搭建
时间一晃又是两个月过去了,我好像在写博客这方面有点懒,= .= 主要也是没啥好写的,项目上的事情又不能写,能写的东西实在太少. 前两个月领导花巨资申请了一个服务器,让我搞git服务器来管理代码,花了几 ...
- windows下搭建nginx-rtmp服务器
windows下搭建nginx-rtmp服务器 windows下搭建nginx-rtmp服务器 准备工作 安装MinGW 安装Mercurial 安装strawberryperl 安装nasm 下载n ...
随机推荐
- 浅谈equals和==
在java中equals和==都是用来作比较的,可是你知道他们之间有什么区别和联系吗? 首先,在Object类中,本质上equals和==都是一样的,如果查看源码,你会发现这里面equals的内部实现 ...
- Extjs校验配置项
Extjsform组件1.Ext.form.Action 配置项:success:执行成功后回调的函数,包括两个参数:form和actionfailure:执行失败后回调的函数,包括两个参数:form ...
- JavaScript正则表达式检验手机号码、邮箱、ip地址等
1)检测IP地址的正则表达式 ((2 [0-4] \d | 25[0-5] | [01]?\d\d?) \.){3}(2 [0-4] \d | 25[0-5] | [01]?\d\d?) 2 [0-4 ...
- 利用css3制作毛玻璃的效果
忙里偷闲,最近又在看许多比较酷炫的效果.现在基于jquery的插件比较多,但是很多插件的兼容性不是太好,所以原生的才是王道.在日常当中,毛玻璃已经不常见了,那是一个很久远年代的东西了.诺,下面就是毛玻 ...
- linux 光盘yum源搭建
1.挂载光盘 2.进入 /etc/yum.repos.d 目录,修改其它配置文件后缀名 mv CentOS-Base.repo CentOS-Base.repo.bakmv CentOS-CR.rep ...
- doPost方法不支持 a 标签和地址栏直接输入地址访问
demo <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- java基础(二) 自增自减与贪心规则
引言 JDK中提供了自增运算符++,自减运算符--.这两个操作符各有两种使用方式:前缀式(++ a,--a),后缀式(a++,a--).可能说到这里,说不得有读者就会吐槽说,前后缀式都挺简单的,前 ...
- 4.使用bat调用可执行jar文件
一.项目需求 1.maven工程 2.有properties配置文件. 3.有内部jar包 二.简单的是实现实例 1.项目文件放置 注意:如果是web工程,我们会将jar文件当到我们项目WEB-INF ...
- Windows Azure中WebSite 网站, Cloud Service 云服务,Virtual Machine 虚拟机的比较
在Windows Azure服务平台里,Web Site特点是: 在Windows Azure上构建高度可扩展的Web站点. 快速.轻松部署一个高度可扩展的云环境,并且可以从很小的规模开始. 使用您所 ...
- java 规范
https://blog.csdn.net/mengxiangsun/article/details/79020226