posts - 174, comments - 60, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

需要工具:

1. msysgit (Git for Windows, http://msysgit.github.com/

2. Copssh (OpenSSH for Windows, https://www.itefix.no/i2/copssh, 新版本已经开始收费了大家可以去搜索引擎找以前的免费版下载)

我用的版本分别是Git-1.8.1.2-preview20130201和Copssh_4.1.0,其他版本的安装和配置可能略有差异但也大同小异。

安装配置步骤如下:

1. 安装msysgit ,非常简单,基本就是一路下一步,有几个地方可以注意下,可以选择把git的路径加入到PATH目录,Windows资源管理器的扩展可以把勾去掉不装,之后用TortoiseGit代替。

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

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

3. 配置Copssh,从开始菜单中打开COPSSH Control Panel
image

应该看到服务处于运行状态
image

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

image

点击Keys创建访问密钥
image

点击Add后一直下一步直到出现Private key file and passphrase,勾选Empty passphrase,选择生成路径输入一个Key file名字继续
image

然后你将得到一个生成的私钥文件private_key.ppk,对应的authorized_keys已经自动生成在 G:\SSH\home\<用户名>\.ssh 目录下

4. 配置git到SSH Server,需要复制几个必要的文件到G:\SSH\bin下,从git安装目录下的libexec\git-core文件夹下将git.exe, git-receive-pack.exe, git-upload-archive.exe, git-upload-pack.exe复制到G:\SSH\bin。

5. 创建git仓库,来到G:\SSH\home\<用户名>\文件夹下,新建一个文件夹作为git仓库,例如G:\SSH\home\daimingzhuang\myapp,我是通过TortoiseGit创建仓库,当然你也可以用其他gitGUI工具或通过命令行,记得勾选bare
image

至此在Windows下基于SSH的Git服务器就搭建完成了。需要通过URL ssh://<用户名>@127.0.0.1:22/SSH/home/<用户名>/myapp 并使用之前生成的私钥文件private_key.ppk才能访问。

还有一点要注意,putty的私钥文件格式和Copssh的不同,需要转换才能使用。TortoiseGit附带的Puttygen 密钥生成工具就可以完成转换。
image

只要导入private_key.ppk再Save private key即可
image

我再简单说明一下如何使用TortoiseGit通过SSH来Clone我们刚刚创建的空仓库,新建一个文件夹在里面点右键选择Git Clone…
然后在URL填入刚才的ssh://<用户名>@127.0.0.1:22/SSH/home/<用户名>/myapp,勾选Load Putty Key然后选择之前生成并经过转换的private_key.ppk
image

OK,成功。
image

只有注册用户登录后才能发表评论。