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。