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 ipUser usernameIdentityFile 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/699632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java实现毕业生追踪系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登陆注册模块2.2 学生基本配置模块2.3 就业状况模块2.4 学历深造模块2.5 信息汇总分析模块2.6 校友论坛模块 三、系统设计3.1 用例设计3.2 实体设计 四、系统展示五、核心代码5.1 查询我的就业状况5.2 初始化就业状况5.…

[算法沉淀记录] 排序算法 —— 希尔排序

排序算法 —— 希尔排序 算法介绍 希尔排序(Shell Sort)是一种基于插入排序的算法,由Donald Shell于1959年提出。希尔排序的基本思想是将待排序的序列划分成若干个子序列,分别进行插入排序,待整个序列中的记录基本有…

php对接抖音小程序授权登录

后端代码 /** * 抖音授权 获取openid * param Request $request * return Json*/ public function code2Session(Request $request): Json {$param $request->param();$config config(douyinconfig.douyin);$arr [appid > $config[appid], //抖音appidsecret > $co…

蜂窝物联网咖WiFi认证解决方案

项目背景 随着目前网咖模式越来越流行,给网吧部署一套无缝漫游的WIFI网络势在必行。同时,网吧无线准入的验证码在客户机上面进行更新,以防周边的人员进行蹭网,损失网吧的外网带宽。 01 需求分析 1. 网吧服务区域全部覆盖无盲区…

mysql8.0使用MHA实现高可用

1.环境配置 本实验环境共有四个节点, 其角色分配如下(实验机器均为centos 7.x) 机器名称IP配置服务角色manager172.16.90.211manager控制器master172.16.90.212数据库主服务器slave1172.16.90.213数据库从服务器slave2172.16.90.214数据库从…

如何写新闻软文宣传考核稿,媒体发布后效果作用是什么

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 新闻稿是一种正式的文档,用于向媒体和公众传达新闻性的信息。撰写新闻稿时,应遵循一定的结构和原则,以确保信息清晰、准确、有吸引力。以下是撰写新闻…

FastJson中AutoType反序列化漏洞

文章目录 1、频繁出现的反序列化漏洞2、parse()及parseObject()3、AutoType及安全校验3.1 AutoType安全校验3.2 AutoType黑名单机制3.3 SafeMode安全机制3.4 攻击思路4、反序列化攻击模拟4.1 TemplatesImpl攻击调用链路4.2 攻击类Translet生成4.3 构造攻击JSON串4.4 攻击模拟5、…

Linux之用户跟用户组

目录 一、简介 1.1、用户 1.2用户组 1.3UID和GID 1.4用户账户分类 二、用户 2.1、创建用户:useradd 2.2、删除用户:userdel 2.3 、修改用户 usermod 2.4、用户口令的管理:passwd 2.5、切换用户 三、用户组 3.1、增加一个用户组:groupadd 3.…

基于yolov5的水果成熟度检测,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示: 基于yolov5的水果成熟度检测系统,支持图像检测,视频检测和实时摄像检测功能_哔哩哔哩_bilibili (一)简介 基于yolov5的水果成熟度检测系统是在pytorch框架下实现的,这是一个完整的项目&#x…

React18源码: reconcliler启动过程

Reconcliler启动过程 Reconcliler启动过程实际就是React的启动过程位于react-dom包&#xff0c;衔接reconciler运作流程中的输入步骤.在调用入口函数之前&#xff0c;reactElement(<App/>) 和 DOM对象 div#root 之间没有关联&#xff0c;用图片表示如下&#xff1a; 在启…

杂题——1106: 奖学金

题目描述 某小学最近得到了一笔赞助&#xff0c;打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末&#xff0c;每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序&#xff0c;如果两个同学总分相同&#xff0c;再按语文成绩从高到低排序&#xff0c;…

电商+支付双系统项目------电商系统中订单模块的开发

这篇文章是关于项目的订单模块的设计。这个模块其实相对来讲比之前的模块复杂了点&#xff0c;我这里说的复杂并不是说难以理解&#xff0c;而是说文件比较多&#xff0c;理解起来还是蛮轻松的。 我们还是老方法&#xff0c;一步一步的去设计&#xff0c;按照Dao->service-&…

C语言获取时间与日期的函数大全

一、最简单获取秒数的&#xff0c;windows和linux都支持用time()函数,获取从1970年到现在过了多少秒&#xff0c;time_t其实是long int 类型 time_t starttime(NULL); for(long i0;i<10000000000;) i1; time_t endtime(NULL) printf("经过了%d秒",end-start); 二…

建立不同类型网站分别大概需要多少钱??

如今&#xff0c;越来越多的企业会考虑建立一个企业官方网站来展示企业形象&#xff0c;或者建立一个电子商务网站平台来拓展业务渠道&#xff0c;或者建立一个企业内部网来协助企业进行网上工作。 网站建设的类型有很多种&#xff0c;不同类型的网站成本差异很大。 因此&#…

FairyGUI × Cocos Creator 3.x 场景切换

前言 前文提要&#xff1a; FariyGUI Cocos Creator 入门 FairyGUI Cocos Creator 3.x 使用方式 个人demo&#xff1a;https://gitcode.net/qq_36286039/fgui_cocos_demo_dust 个人demo可能会更新其他代码&#xff0c;还请读者阅读本文内容&#xff0c;自行理解并实现。 官…

C++的文件操作详解

目录 1.文本文件 1.写文件 2.读文件 2.二进制文件 1.写文件 2.读文件 1.文本文件 1.写文件 #include<bits/stdc.h> #include<fstream> using namespace std;int main() {ofstream ofs;ofs.open("text.txt",ios::out);ofs << "abc&qu…

2024最新版Python 3.12.2安装使用指南

2024最新版Python 3.12.2安装使用指南 Installation and Usage Guide to the Latest Version - Python 3.12.2 for Windows in 2024 By JacksonML 0. Python的受欢迎程度 据TechRepublic报道&#xff0c;截至2024年2月16日&#xff0c;全球最流行的编程语言之中&#xff0c…

剩余银饰的重量(C语言)

题目描述 有 N 块二手市场收集的银饰&#xff0c;每块银饰的重量都是正整数&#xff0c;收集到的银饰会被熔化用于打造新的饰品。 每一回合&#xff0c;从中选出三块 最重的 银饰&#xff0c;然后一起熔掉。假设银饰的重量分别为 x 、y 和 z&#xff0c;且 x < y < z。那…

FFmpeg——avio_reading实例(学习)

目录 前言一、源码二、分析1、av_file_map函数2、avformat_alloc_context函数3、avio_alloc_context函数4、avformat_open_input函数5、avformat_find_stream_info函数 前言 avio_reading是关于对音视频流内存读取操作的应用实例&#xff0c;将文件中获取的数据流映射到内存再…

go使用trpc案例

1.go下载trpc go install trpc.group/trpc-go/trpc-cmdline/trpclatest 有报错的话尝试配置一些代理&#xff08;选一个&#xff09; go env -w GOPROXYhttps://goproxy.cn,direct go env -w GOPROXYhttps://goproxy.io,direct go env -w GOPROXYhttps://goproxy.baidu.com/…