当前位置:   article > 正文

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

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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
  • 1
  • 2
  • 3

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
  • 1
  • 2

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

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

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.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

默认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
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/141022
推荐阅读
相关标签
  

闽ICP备14008679号