Windows 下使用 Copssh 搭建 Git 服务器的完整指南
你是否曾经想过在 Windows 电脑上搭建一个私有的 Git 服务器,方便团队协作或备份自己的代码?对于很多开发者,特别是 Windows 用户来说,这听起来可能有些复杂,涉及到 SSH、服务器配置等概念。今天,我们就来彻底解决这个问题。我将手把手教你,如何在 Windows 系统上,通过 Copssh 这款免费工具,轻松搭建一个稳定、安全的 Git 服务器。整个过程无需 Linux 知识,完全在 Windows 图形界面下完成,即使是电脑新手也能跟着步骤一步步实现。
一、 为什么选择 Copssh 在 Windows 上搭建 Git 服务器?
在深入步骤之前,我们先理清几个概念。Git 是一个分布式版本控制系统,它本身可以通过多种协议进行通信,其中 SSH 协议因其安全性和简便性而被广泛使用。通常,在 Linux 上搭建 Git SSH 服务器非常直接,但在 Windows 上,原生并不提供 SSH 服务器功能。
Copssh 的出现完美解决了这个问题。它本质上是将 OpenSSH 这个强大的 SSH 工具套件移植到了 Windows 平台,并提供了友好的安装和配置界面。选择它的理由很简单:
- 免费且轻量:对于个人和小团队来说,它是零成本的解决方案。
- 与 Windows 集成好:它使用 Windows 系统的用户账户进行认证,管理起来非常方便。
- 配置简单:通过图形化界面完成大部分设置,降低了命令行操作的门槛。
接下来,我们进入实战环节。
二、 准备工作:安装必要软件

在开始之前,请确保你的 Windows 电脑(可以是你的主力机,也可以是一台长期开机的旧电脑)已经准备好。
第一步:安装 Git for Windows 这是必须的,因为我们需要 Git 的命令行工具。
- 访问 Git 官方网站,下载 Windows 版本的安装程序。
- 运行安装程序。在安装过程中,有几个关键选项需要注意:
- “Adjusting your PATH environment”:建议选择 “Git from the command line and also from 3rd-party software”。这会将 Git 添加到系统环境变量,让你在任何地方都能使用
git命令。 - “Choosing the default editor used by Git”:可以选择你熟悉的编辑器,例如
Notepad++或VSCode,默认是 Vim(对新手不友好)。 - 其他选项保持默认,一路点击“Next”即可完成安装。
- “Adjusting your PATH environment”:建议选择 “Git from the command line and also from 3rd-party software”。这会将 Git 添加到系统环境变量,让你在任何地方都能使用
- 安装完成后,在开始菜单中找到 “Git” -> “Git Bash”,打开它。输入
git --version,如果显示版本号,说明安装成功。
第二步:安装 Copssh
- 搜索 “Copssh download” 找到其官方或可靠的下载源。请注意区分,我们通常选择 “Copssh Basic” 版本,它是免费的。
- 运行 Copssh 安装程序。安装路径可以保持默认(如
C:\Program Files\ICW),也可以自定义一个没有中文和空格的路径,避免后续出现奇怪的问题。 - 安装过程中,它会询问你是否要安装一个 Windows 服务,务必选择 “是”。这样 SSH 服务器才能开机自动运行。
- 安装程序还会询问是否要为现有 Windows 用户激活 SSH 访问。这里可以先跳过,我们后面在图形化管理工具里配置会更清晰。
三、 核心配置:让 Copssh 与 Git 协同工作
安装完成后,你会在开始菜单或桌面上找到 “COPSSH Control Panel”。这是我们配置的主战场。
第一步:创建专用的 Windows 用户(推荐) 虽然可以使用现有账户,但为了安全和权限清晰,最好创建一个专门用于 Git 服务的用户。
- 打开 Windows 的“计算机管理”(右键点击“此电脑”->“管理”)。
- 在“本地用户和组”中,右键点击“用户”->“新用户”。
- 创建一个新用户,例如用户名为
git。取消勾选“用户下次登录时须更改密码”,并勾选“密码永不过期”。设置一个强密码并记住它。 - 创建完成后,双击这个
git用户,在“隶属于”选项卡中,确保它只属于“Users”组,不要给予管理员权限。
第二步:在 Copssh 中激活用户
- 以管理员身份运行 “COPSSH Control Panel”。
- 点击左侧的 “Users” 选项卡。
- 点击右侧的 “Add…” 按钮。
- 在弹出的窗口中,从下拉列表中选择我们刚才创建的
git用户。下方有两个重要选项:- “Allow password authentication”:允许密码登录。对于初期测试和简单环境可以勾选。
- “Allow public key authentication”:允许公钥登录。这是更安全、更推荐的方式,适合正式使用。我们可以先勾选密码登录以便测试。
- 点击“OK”。Copssh 会自动为该用户创建必要的 SSH 环境目录(如
C:\Program Files\ICW\home\git等)。
第三步:配置 Git 仓库目录和权限 现在我们需要一个地方来存放所有的 Git 仓库。
- 在硬盘上找一个合适的位置,创建一个文件夹,例如
D:\GitRepositories。 - 右键点击这个文件夹,选择“属性”->“安全”->“编辑”。
- 点击“添加”,输入刚才创建的用户名
git,点击“检查名称”后确定。 - 在权限列表中,为
git用户勾选 “完全控制” 或至少 “修改”、“读取和执行”、“列出文件夹内容”、“读取”、“写入” 这几项。点击“应用”和“确定”。
第四步:初始化一个示例 Git 仓库(裸仓库) Git 服务器上存放的是“裸仓库”,它没有工作目录,专门用于共享。
- 打开 Git Bash。
- 切换到我们准备的仓库目录:
cd /d/GitRepositories(注意:在 Git Bash 中,路径使用正斜杠
/,且盘符D:表示为/d) - 创建一个裸仓库,比如叫
myproject.git:git init --bare myproject.git - 为了确保
git用户有权限,我们还需要在 Git Bash 中修改一下这个文件夹的所有者(可能需要以管理员身份运行 Git Bash):chown -R git "myproject.git"如果
chown命令不可用(Windows环境可能受限),可以回到上一步的文件夹安全属性中,确保git用户有完全控制权,这通常就足够了。
四、 客户端连接测试
服务器端配置好了,现在用另一台电脑(或本机另一个账户)测试连接和克隆操作。
场景一:使用密码认证(测试用)
- 在客户端电脑上,同样安装好 Git。
- 打开命令提示符(CMD)或 Git Bash。
- 使用
git clone命令进行克隆,地址格式为:ssh://用户名@服务器IP地址/仓库路径。git clone ssh://git@192.168.1.100/d/GitRepositories/myproject.git- 将
192.168.1.100替换为你搭建 Copssh 的那台电脑的 局域网 IP 地址(在命令行输入ipconfig可查看)。 - 系统会提示你输入
git用户的密码,输入后即可开始克隆。 - 如果成功克隆出一个空仓库(文件夹内有一些 Git 配置文件),恭喜你,基础配置成功了!
- 将
场景二:使用公钥认证(更安全,正式用)
- 在客户端生成 SSH 密钥对(如果已有
id_rsa和id_rsa.pub文件可跳过):ssh-keygen -t rsa -C "your_email@example.com"一路回车,使用默认路径和空密码(或根据需求设置密码)。
- 将公钥部署到服务器:
- 找到客户端生成的公钥文件
id_rsa.pub,用记事本打开,复制全部内容。 - 在服务器上,进入 Copssh 为
git用户创建的 home 目录下的.ssh文件夹,例如:C:\Program Files\ICW\home\git\.ssh。 - 检查是否存在
authorized_keys文件,如果没有就新建一个文本文件并重命名为authorized_keys(注意没有后缀)。 - 用记事本打开
authorized_keys文件,将刚才复制的公钥内容 另起一行粘贴进去,保存。
- 找到客户端生成的公钥文件
- 测试连接:
ssh git@192.168.1.100如果配置正确,你应该不需要输入密码就能直接登录到服务器的命令行提示符(显示一个简单的 Sftp 提示符)。按
Ctrl+D退出。 - 使用公钥克隆:现在再执行
git clone命令,就无需输入密码了。
五、 常见问题与故障排查
- 连接被拒绝(Connection refused):检查 Copssh 的 SSH 服务是否正在运行(在 Copssh Control Panel 的 “Status” 选项卡查看)。检查 Windows 防火墙是否放行了 22 端口(可在“高级安全 Windows 防火墙”中添加入站规则,允许 TCP 端口 22)。
- 权限被拒绝(Permission denied):
- 确认 Copssh 中已正确添加并激活了用户。
- 确认仓库目录的 NTFS 权限已正确授予给相应用户。
- 如果使用公钥,检查服务器上
authorized_keys文件的格式是否正确(每行一个密钥),以及文件权限(可以尝试删除该文件,让 Copssh 在用户首次密码登录时自动生成一个基础版本,然后再修改它)。
- 克隆成功但无法推送(push):这几乎总是仓库目录的写入权限问题。请再次仔细检查仓库文件夹(例如
myproject.git)及其所有父目录,是否对连接所使用的 Windows 用户(git)有足够的写权限。
六、 进阶优化与安全建议
- 修改默认端口:为了安全,可以修改 SSH 默认的 22 端口。在 Copssh Control Panel 的 “Server Settings” 选项卡中,修改 “Port number”,记得同时在防火墙开放新端口。
- 禁用密码登录:当所有客户端都配置好公钥后,强烈建议在 Copssh Control Panel 的 “Server Settings” -> “Authentication” 中,取消勾选 “Allow password authentication”,只使用公钥登录,极大提升安全性。
- 管理多个仓库:只需在
D:\GitRepositories目录下,为每个新项目运行一次git init --bare projectname.git即可。 - 从外网访问:如果你有公网 IP 并设置了端口转发,就可以在任意地方访问你的私有 Git 服务器了。但请务必做好上述安全加固(改端口、禁用密码登录)。
通过以上步骤,你已经成功在 Windows 上搭建了一个功能完整的 Git 服务器。它虽然不如 Visual Studio Team Services 或 GitLab 功能丰富,但对于小团队或个人项目的代码同步和备份来说,完全够用,而且让你对 Git 和 SSH 的理解更深了一层。遇到问题不要慌,按照“检查服务->检查权限->检查配置”的顺序一步步排查,你一定能解决。

还没有评论,来说两句吧...