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. jquery Deferred使用经验

    这周做了个小活动(http://aoqi.100bt.com/zt-2016duanzi/index.html),刚开始时候没看好需求,逻辑都写一块了 最后各种坑要填补,从中也获取了些经验和教训,下面 ...

  2. hdu - 3572 - Task

    题意:有N个作业,M台机器,每个作业1天只能同1台机器运行,每台机器1天只能运行1个作业,第i个作业需要pi天完成,且只能从Si到Ei中选Pi天,问能否完成所有作业(T <= 20, N< ...

  3. android设置eclipse中的自动提示功能

    菜单window->Preferences->Java->Editor->Content Assist->Enable auto activation 选项要打上勾 (并 ...

  4. MySQL里求给定的时间是所在月份的第几个礼拜

    Share 一个昨天写的函数. 目的是求给定的时间是所在月份的第几个礼拜. DELIMITER $$ USE `t_girl`$$ DROP FUNCTION IF EXISTS `weekofmon ...

  5. vim: 远程登陆服务器时可能出现的: 方向键,回退符不能正常使用

    Solution of:远程登陆服务器时可能出现的: 方向键,回退符不能正常使用 远程登陆服务器,可能出现:方向键,回退符不能正常使用. 解决方法:在家目录下的.cshrc中添加set nocompa ...

  6. 重操JS旧业第三弹:Array

    数组在任何编程语言中都是非常重要的,因为函数在最大程度上代表了要实现的功能,而数组则是这些函数所要操作的内存一部分. 1 构建数组 js与其他非脚本语言的灵活之处在于要实现一个目标它可能具有多种方式, ...

  7. javascript 中对this关键字的一些理解

    var self = this 可能会觉得奇怪为什么我会定义一个_self的变量, 因为在js里,this不用对于其他的对象语言,他的解析过程与运行过程中this会改变的.这里简单说说js里this的 ...

  8. ASP.NET之Application、Session和Cookie的差别

    在Asp.net中Application.Session和Cookie都能够保存信息,那么它们有什么不同呢? 一.首先Application是在server端建立一个状态变量,存储于server的全局 ...

  9. linux下nginx负载均衡部署

    nginx负载均衡部署 Nginx("engine x") 是一个高性能的 HTTP 和 反向代理 server,也是一个 IMAP/POP3/SMTP 代理server. Ngi ...

  10. biz处理dao事务处理层

    前言 正文 1.创建一个事物管理对象,该对象将连接对象绑定到当前线程 2.dao层的代码演示样例 3.biz层处理数据库的事务 总结