Git使用之搭建基于SSH的Gitserver(上篇)

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,基本就是一路下一步,有几个地方须要设置一下:






2.2 安装Copssh


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




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



3. 配置Copssh


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

从開始菜单中打开COPSSH Control Panel



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



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





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



点击Add button




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



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



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



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

4. 配置git到SSH Server


复制几个必要的文件到C:SSHin下

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

从git安装文件夹下的inlibiconv-2.dll拷贝到C:SSHin下。


5. 创建git仓库


安装TortoiseGit-1.8.8.0-64bit:



创建仓库:



来到C:SSHhome<username>目录下,新建一个目录作为git仓库,比如C:SSHhomeUIAdminUICode。我是通过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。

原文地址:https://www.cnblogs.com/zfyouxi/p/5095917.html