Window系统上通过SSH搭建git服务器

本文详细指导如何在Windows系统上安装OpenSSH,配置SSH密钥对,禁用密码验证,以及设置Git服务器,包括克隆仓库和解决常见错误。
摘要由CSDN通过智能技术生成

Window系统上通过SSH搭建git服务器

1. OpenSSH安装(如果已安装,请忽略)

  • 打开“设置”,选择“系统”,然后选择“可选功能”。

  • 扫描列表,查看是否已安装 OpenSSH。 如果未安装,请在页面顶部选择“添加功能”,然后:

  • 找到“OpenSSH 客户端”,然后选择“安装”

  • 找到“OpenSSH Server”,然后选择“安装”

  • 打开“服务”桌面应用。 (选择“开始”,在搜索框中键入 services.msc ,然后选择“服务”应用或按 ENTER。)

  • 在详细信息窗格中,双击“OpenSSH SSH 服务器”。

在“常规”选项卡上的“启动类型”下拉菜单中,选择“自动”,然后选择“确定”。

  • 若要启动服务,请选择“启动”。

2. 安装git

  • https://git-scm.com/download/win 下载一路next安装。

3. SSH配置

  • ssh-keygen -t rsa 生成密钥和公钥
  • C:/Users/用户名/.ssh/ 下新增config文件,配置如下
    # 这是一个注释
    Host  alianame  
    HostName ip
    User username
    IdentityFile C:/Users/用户名/.ssh/id_rsa

Host 是主机别名,后续通过ssh克隆就可以使用别名,不必写ip地址
HostName ip地址
User 服务器用户名
IdentityFile 密钥校验文件路径,也可以是你自己的其他文件

  • C:/Users/用户名/.ssh/ 下新增authorized_keys文件,用于后续添加用户的pubkey验证。 只需要将用户生成的C:/Users/用户名/.ssh/id_rsa.pub 的内容追加到authorized_keys文件即可

  • sshd_config配置
    sshd_config路径在C:/ProgramData/ssh/sshd_config,这里面有三个关键配置项需要设置:

PubkeyAuthentication yes
PasswordAuthentication no
AuthorizedKeysFile	C:/Users/用户名/.ssh/authorized_keys

PubkeyAuthentication yes:开启pubkey验证

PasswordAuthentication no:关闭密码验证,即可通过pubkey免密登录

AuthorizedKeysFile C:/Users/用户名/.ssh/authorized_keys : pubkey验证的文件路径

配置完成后重启ssh服务。服务-Open SSh Serve -重新启动

4. 通过以上配置就可以初始化仓库

  • 找一个磁盘空间专门用户git库存放。如我在D:/git-repo/
 cd D:/git-repo/
 git init --bare git-demo.git

git init --bare git-demo.git 初始化一个空的仓库

  • 客户端克隆 (此时要保证客户端用户的id_rsa.pub已经添加到authorized_keys 中)
git clone username@alianame:D:/git-repo/git-demo.git

username 对应服务器用户名,也可以为git专门创建用户名。alianame是.ssh中配置的服务器别名,也可以是ip地址。

有可能会如下错误:

'git-upload-pack' *****

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

默认OpenSSH使用的shell是powershell.exe,将其改为git for windows的bash.exe即可解决这个问题。

# 注意bash.exe的路径使用你自己的 ,在powershell中执行
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\xxxxx\software\git\Git\bin\bash.exe" -PropertyType String -Force
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hui-1018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值