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

时间:2023-03-08 16:15:50

Git客户端安装

客户端要同时安装在远程服务器和自己的电脑上,下载地址:http://msysgit.github.io/

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

选择安装组件 :也可以默认选择;

  • 图标组件(Addition icons) : 选择是否创建快速启动栏图标 或者 是否创建桌面快捷方式;
  • 桌面浏览(Windows Explorer integration) : 浏览源码的方法, 单独的上下文浏览 只使用bash 或者 只用Git GUI工具; 高级的上下文浏览方法 使用git-cheetah plugin插件;
  • 关联配置文件 : 是否关联git配置文件, 该配置文件主要显示文本编辑器的样式;
  • 关联shell脚本文件 : 是否关联Bash命令行执行的脚本文件;
  • 使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码;

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

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

设置环境变量 : 选择使用什么样的命令行工具, 一般情况下我们默认使用Git Bash即可, 默认选择;

  • Git自带 : 使用Git自带的Git Bash命令行工具;
  • 系统自带CMD : 使用Windows系统的命令行工具;
  • 二者都有 : 上面二者同时配置, 但是注意, 这样会将windows中的find.exe 和 sort.exe工具覆盖, 如果不懂这些尽量不要选择;

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

选择换行格式 :

  • 检查出windows格式转换为unix格式 : 将windows格式的换行转为unix格式的换行在进行提交;
  • 检查出原来格式转为unix格式 : 不管什么格式的, 一律转为unix格式的换行在进行提交;
  • 不进行格式转换 : 不进行转换, 检查出什么, 就提交什么;

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

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

安装copshh

这个软件要安装在远程服务器上面,注意不要使用默认的Program Files下的安装路径,也不要在路径中带空格,否则会引起不必要的麻烦导致失败,例如我就装在C:\SSH。下载:http://download.****.net/detail/narutoboygg/8379851

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

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

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

配置copshh

从开始菜单打开copshh:

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

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

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

然后在Windows中添加一个用户,在下面选择该用户。

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

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

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

选择Windows shell类型,去掉密码认证:

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

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

点击Keys创建该用户对应的访问密钥:

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

点击Add 按钮

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

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

设置密钥对应的访问密码及保存后的名称

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

在C:\SSH\home目录下,找到UIAdmin文件夹,为其添加系统用户对其完全控制的权限(上面选择的用户)。

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

点击上步的ForWard按钮,完成密钥文件的创建。

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

生成的私钥文件UIAdminkey.ppk,对应的authorized_keys已经自动生成在 C:\SSH\home\<用户名>\.ssh 目录下

配置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下。

创建git仓库

来到C:\SSH\home\<用户名>\文件夹下,新建一个文件夹作为git仓库,例如C:\SSH\home\UIAdmin\code

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

22端口

通过下面的方法测试连通性,出现端口错误:

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

防火墙设置

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

通过客户端访问

错误是:The authenticity of host 192.168.0.xxx can't be established.

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

客户端通过URL,如 ssh://<用户名>@127.0.0.1:22/SSH/home/<用户名>/UIAdmin克隆代码时

.......没成功。