1. 须要软件

msysgit (Gitfor Windows)

Copssh (OpenSSHfor Windows,新版本号已经開始收费了大家能够去搜索引擎找曾经的免费版Copssh_4.1.0下载)

GitTortoiseGit

我用的版本号各自是Git-1.9.2-preview20140411、Copssh_4.1.0、TortoiseGit-1.8.8.0-64bit.msi,其它版本号的安装和配置可能略有差异但也大同小异。

2. 安装步骤

2.1 安装msysgit

很easy,基本就是一路下一步,有几个地方须要设置一下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW9zaGlsYW5nMjI0OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW9zaGlsYW5nMjI0OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

2.2 安装Copssh

注意不要使用默认的Program Files下的安装路径。也不要在路径中带空格,否则会引起不必要的麻烦导致失败,比如我就装在C:\SSH。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW9zaGlsYW5nMjI0OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

安装过程会创建一个名为SvcCOPSSH的系统用户用于启动Copssh的服务。这里默认就可以,提醒一点,假设卸载重装Copssh要记得手动删除系统用户SvcCOPSSH(windows用户),否则Copssh服务将无法正常启动。

3. 配置Copssh

为系统加入一个名为UIAdmin的管理员账户。

从開始菜单中打开COPSSH Control Panel

应该看到服务处于执行状态

然后在Users选卡中加入一个用户,选择Windows shell类型,去掉password认证

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW9zaGlsYW5nMjI0OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW9zaGlsYW5nMjI0OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

点击Keys创建该用户相应的訪问密钥

点击Add button

设置密钥相应的訪问password及保存后的名称

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW9zaGlsYW5nMjI0OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

在C:\SSH\home文件夹下。找到UIAdmin文件夹。为其加入UIAdmin系统用户对其全然控制的权限。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW9zaGlsYW5nMjI0OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

点击上步的ForWardbutton,完毕密钥文件的创建。

生成的私钥文件UIAdminkey.ppk。相应的authorized_keys已经自己主动生成在 C:\SSH\home\<username>\.ssh 文件夹下

4. 配置git到SSH Server

复制几个必要的文件到C:\SSH\bin下

从git安装文件夹下的\libexec\git-core文件夹下将git.exe, git-receive-pack.exe, git-upload-archive.exe,git-upload-pack.exe拷贝到C:\SSH\bin

从git安装文件夹下的\bin\libiconv-2.dll拷贝到C:\SSH\bin下。

5. 创建git仓库

安装TortoiseGit-1.8.8.0-64bit:

创建仓库:

来到C:\SSH\home\<username>\目录下,新建一个目录作为git仓库,比如C:\SSH\home\UIAdmin\UICode。我是通过TortoiseGit创建仓库,当然你也能够用其它gitGUI工具或通过命令行,记得勾选bare(用于多人作业)

至此在Windows下基于SSH的Gitserver就搭建完毕了。

5. 常见问题

1、client通过URL,如 ssh://<username>@127.0.0.1:22/SSH/home/<username>/UIAdmin克隆代码时,提示gitdid not exit cleanly (exit code 128):

【1】訪问SSH的防火墙阻止了22号port。

通过单击「開始」button 「開始」button的图片,然后单击“控制面板”,打开“Windows 防火墙”。在搜索框中,键入防火墙,然后单击“Windows 防火墙”。

在左窗格中,单击“高级设置”。 须要管理员权限 假设系统提示您输入管理员password或进行确认,请键入该password或提供确认。

在“高级安全 Windows 防火墙”对话框的左窗格中。单击“入站规则”,然后在右窗格中,单击“新建规则”,加入22port。

Git使用之搭建基于SSH的Gitserver(上篇)的更多相关文章

  1. Windows 7下 搭建 基于 ssh 的sftp 服务器

    Windows  xp 下 搭建 基于  ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用file ...

  2. Windows下搭建基于SSH的Git服务器

    Git客户端安装 客户端要同时安装在远程服务器和自己的电脑上,下载地址:http://msysgit.github.io/ 选择安装组件 :也可以默认选择; 图标组件(Addition icons) ...

  3. linux git server 简易搭建 (ssh访问)

    git的服务器搭建,如果无需权限控制,仅团队内部使用,初始化一个服务器仓库,其他人通过ssh访问这个文件夹即可.如需复杂的管理,建议使用gitlab. yum install git -y id gi ...

  4. 在window系统下搭建基于ssh的git服务器

    以下是基于window server 2012搭建的,学习搭建过程需要很多问题,找了许多文章做了一下总结. 1.所需的软件 Git for Windows: MsysGit(Git-1.7.4-pre ...

  5. Git使用之基于SSH的Gitserver的client配置(下篇)

    1.  软件安装 Git-1.9.2-preview20140411 TortoiseGit-1.8.8.0-64bit.msi 1.1 安装msysgit 很easy,基本就是一路下一步,有几个地方 ...

  6. 搭建通过 ssh 访问的 Git 服务器

    一.Git 协议 Git 可以使用四种主要的协议来传输数据:本地传输,ssh 协议,Git 协议和 HTTP 协议. Git 使用的传输协议中最常见的就是 ssh 了.大多数环境已经支持通过 ssh ...

  7. 搭建基于金山快盘的Git服务器

    最近迷上了Git,这货堪称神器,用了它就再也不想用其他VCS了,就像上了高速就不想再走国道一样. 一般人使用Git+Github来搭建进行本地远程交互,不过Github弄个私人仓库是要刀乐思的,如果你 ...

  8. 服务器上搭建使用SSH账户登录的Git仓库

    1.安装git yum install -y git 2.创建git仓库保存的目录 mkdir /data/git_repo 3.初始化空仓库 cd /data/git_repogit init -- ...

  9. Git本地服务器搭建及使用详解

    Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...

随机推荐

  1. 程序启动报错:ORA-12505;PL/SQL却可以登录的解决方法

    一.异常{ ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connect ...

  2. java 一个函数EnumMap返回多个值

    java 一个函数如何返回多个值   在开发过程中,经常会有这种情况,就是一个函数需要返回多个值,这是一个问题!! 网上这个问题的解决方法: 1.使用map返回值:这个方法问题是,你并不知道如何返回值 ...

  3. 有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M。 需要选出若干个x,使这几个x的和与 M 最接近。 请描述实现算法,并指出算法复杂度

    题目:有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M. 需要选出若干个x,使这几个x的和与 M 最接近. 请描述实现算法,并指出算法复杂度. 代码如下: #in ...

  4. Sencha app build 出现 missing name after . operator 问题

    此问题是在使用sencha app build命令后出现得 主要是 YUI Compressor压缩的时候,代码中出现了delete, interface之类的keyword导致的. 此时能够在Web ...

  5. POJ 3619 Speed Reading(简单题)

    [题意简述]:有K头牛,N页书,每次第i头牛每分钟仅仅能读Si页书,连续读Ti分钟,之后歇息Ri分钟.如今问我们第i头牛花费多少时间能够读完这N页书. [分析]:简单的模拟 //220K 32Ms # ...

  6. Swift - 使用xib添加新界面

    除了使用storyboard外,我们还可以使用xib来设计并创建页面. 1,下面通过一个样例来演示: (1)点击主界面的“信息”按钮,页面切换到信息界面 (2)点击信息界面的“返回”,关闭信息界面,回 ...

  7. js获取上传文件的绝对路径

    在html中    <input type="file" id="importFile" />    <input type="bu ...

  8. C++ operator overload -- 操作符重载

    C++ operator overload -- 操作符重载 2011-12-13 14:18:29 分类: C/C++ 操作符重载有两种方式,一是以成员函数方式重载,另一种是全局函数. 先看例子 # ...

  9. 理想非常丰满,现实非常骨感——致WiFi通话

    WiFi通话一词,近来火热,国外,iOS 8系统測试版新增WiFi通话功能,英国运营商也着手WiFi免费通话,国内也没落下,阿里发布的170资费方案中就包含WiFi免费通话. 近日,据外媒报道,在美国 ...

  10. 11gR2(11.2) RAC TAF Configuration for Admin and Policy Managed Databases (文档 ID 1312749.1)

    In this Document   Purpose   _afrLoop=1459323732561579&id=1312749.1&displayIndex=10&_afr ...