windows git copssh

老刘

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 平台,并提供了友好的安装和配置界面。选择它的理由很简单:

  1. 免费且轻量:对于个人和小团队来说,它是零成本的解决方案。
  2. 与 Windows 集成好:它使用 Windows 系统的用户账户进行认证,管理起来非常方便。
  3. 配置简单:通过图形化界面完成大部分设置,降低了命令行操作的门槛。

接下来,我们进入实战环节。

二、 准备工作:安装必要软件

windows git copssh

在开始之前,请确保你的 Windows 电脑(可以是你的主力机,也可以是一台长期开机的旧电脑)已经准备好。

第一步:安装 Git for Windows 这是必须的,因为我们需要 Git 的命令行工具。

  1. 访问 Git 官方网站,下载 Windows 版本的安装程序。
  2. 运行安装程序。在安装过程中,有几个关键选项需要注意:
    • “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”即可完成安装。
  3. 安装完成后,在开始菜单中找到 “Git” -> “Git Bash”,打开它。输入 git --version,如果显示版本号,说明安装成功。

第二步:安装 Copssh

  1. 搜索 “Copssh download” 找到其官方或可靠的下载源。请注意区分,我们通常选择 “Copssh Basic” 版本,它是免费的。
  2. 运行 Copssh 安装程序。安装路径可以保持默认(如 C:\Program Files\ICW),也可以自定义一个没有中文和空格的路径,避免后续出现奇怪的问题。
  3. 安装过程中,它会询问你是否要安装一个 Windows 服务,务必选择 “是”。这样 SSH 服务器才能开机自动运行。
  4. 安装程序还会询问是否要为现有 Windows 用户激活 SSH 访问。这里可以先跳过,我们后面在图形化管理工具里配置会更清晰。

三、 核心配置:让 Copssh 与 Git 协同工作

安装完成后,你会在开始菜单或桌面上找到 “COPSSH Control Panel”。这是我们配置的主战场。

第一步:创建专用的 Windows 用户(推荐) 虽然可以使用现有账户,但为了安全和权限清晰,最好创建一个专门用于 Git 服务的用户。

  1. 打开 Windows 的“计算机管理”(右键点击“此电脑”->“管理”)。
  2. 在“本地用户和组”中,右键点击“用户”->“新用户”。
  3. 创建一个新用户,例如用户名为 git。取消勾选“用户下次登录时须更改密码”,并勾选“密码永不过期”。设置一个强密码并记住它。
  4. 创建完成后,双击这个 git 用户,在“隶属于”选项卡中,确保它只属于“Users”组,不要给予管理员权限。

第二步:在 Copssh 中激活用户

  1. 以管理员身份运行 “COPSSH Control Panel”
  2. 点击左侧的 “Users” 选项卡。
  3. 点击右侧的 “Add…” 按钮。
  4. 在弹出的窗口中,从下拉列表中选择我们刚才创建的 git 用户。下方有两个重要选项:
    • “Allow password authentication”:允许密码登录。对于初期测试和简单环境可以勾选。
    • “Allow public key authentication”:允许公钥登录。这是更安全、更推荐的方式,适合正式使用。我们可以先勾选密码登录以便测试。
  5. 点击“OK”。Copssh 会自动为该用户创建必要的 SSH 环境目录(如 C:\Program Files\ICW\home\git 等)。

第三步:配置 Git 仓库目录和权限 现在我们需要一个地方来存放所有的 Git 仓库。

  1. 在硬盘上找一个合适的位置,创建一个文件夹,例如 D:\GitRepositories
  2. 右键点击这个文件夹,选择“属性”->“安全”->“编辑”。
  3. 点击“添加”,输入刚才创建的用户名 git,点击“检查名称”后确定。
  4. 在权限列表中,为 git 用户勾选 “完全控制” 或至少 “修改”、“读取和执行”、“列出文件夹内容”、“读取”、“写入” 这几项。点击“应用”和“确定”。

第四步:初始化一个示例 Git 仓库(裸仓库) Git 服务器上存放的是“裸仓库”,它没有工作目录,专门用于共享。

  1. 打开 Git Bash
  2. 切换到我们准备的仓库目录:
    cd /d/GitRepositories

    (注意:在 Git Bash 中,路径使用正斜杠 /,且盘符 D: 表示为 /d

  3. 创建一个裸仓库,比如叫 myproject.git
    git init --bare myproject.git
  4. 为了确保 git 用户有权限,我们还需要在 Git Bash 中修改一下这个文件夹的所有者(可能需要以管理员身份运行 Git Bash):
    chown -R git "myproject.git"

    如果 chown 命令不可用(Windows环境可能受限),可以回到上一步的文件夹安全属性中,确保 git 用户有完全控制权,这通常就足够了。

四、 客户端连接测试

服务器端配置好了,现在用另一台电脑(或本机另一个账户)测试连接和克隆操作。

场景一:使用密码认证(测试用)

  1. 在客户端电脑上,同样安装好 Git。
  2. 打开命令提示符(CMD)或 Git Bash。
  3. 使用 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 配置文件),恭喜你,基础配置成功了!

场景二:使用公钥认证(更安全,正式用)

  1. 在客户端生成 SSH 密钥对(如果已有 id_rsaid_rsa.pub 文件可跳过):
    ssh-keygen -t rsa -C "your_email@example.com"

    一路回车,使用默认路径和空密码(或根据需求设置密码)。

  2. 将公钥部署到服务器
    • 找到客户端生成的公钥文件 id_rsa.pub,用记事本打开,复制全部内容。
    • 在服务器上,进入 Copssh 为 git 用户创建的 home 目录下的 .ssh 文件夹,例如:C:\Program Files\ICW\home\git\.ssh
    • 检查是否存在 authorized_keys 文件,如果没有就新建一个文本文件并重命名为 authorized_keys(注意没有后缀)。
    • 用记事本打开 authorized_keys 文件,将刚才复制的公钥内容 另起一行粘贴进去,保存。
  3. 测试连接
    ssh git@192.168.1.100

    如果配置正确,你应该不需要输入密码就能直接登录到服务器的命令行提示符(显示一个简单的 Sftp 提示符)。按 Ctrl+D 退出。

  4. 使用公钥克隆:现在再执行 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)有足够的写权限。

六、 进阶优化与安全建议

  1. 修改默认端口:为了安全,可以修改 SSH 默认的 22 端口。在 Copssh Control Panel 的 “Server Settings” 选项卡中,修改 “Port number”,记得同时在防火墙开放新端口。
  2. 禁用密码登录:当所有客户端都配置好公钥后,强烈建议在 Copssh Control Panel 的 “Server Settings” -> “Authentication” 中,取消勾选 “Allow password authentication”,只使用公钥登录,极大提升安全性。
  3. 管理多个仓库:只需在 D:\GitRepositories 目录下,为每个新项目运行一次 git init --bare projectname.git 即可。
  4. 从外网访问:如果你有公网 IP 并设置了端口转发,就可以在任意地方访问你的私有 Git 服务器了。但请务必做好上述安全加固(改端口、禁用密码登录)。

通过以上步骤,你已经成功在 Windows 上搭建了一个功能完整的 Git 服务器。它虽然不如 Visual Studio Team Services 或 GitLab 功能丰富,但对于小团队或个人项目的代码同步和备份来说,完全够用,而且让你对 Git 和 SSH 的理解更深了一层。遇到问题不要慌,按照“检查服务->检查权限->检查配置”的顺序一步步排查,你一定能解决。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,7人围观)

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

目录[+]