搭建私人对外git空间

news2025/4/27 16:30:34

# 创建用户,指定不可登录的 Shell(git-shell 或 /usr/sbin/nologin)
sudo adduser --system --shell /usr/bin/git-shell --group git

# 验证用户配置
grep git /etc/passwd
# 预期输出:git:x:998:998::/home/git:/usr/bin/git-shell   //一定要是git-shell,不要xx-shell,这个是安装git后生成的git-shell bin,和用户没有关系。

# 删除用户
sudo deluser test

# 创建仓库目录(例如:test.git)
sudo -u test mkdir -p /home/test/test.git
cd /home/test/repos/test.git

# 初始化裸仓库(无工作区)

sudo -u test  git init --bare

# 修复权限(确保 git 用户拥有所有权)
sudo -u test chown -R test:test  /home/test

禁用密码登录(增强安全性)
sudo nano /etc/ssh/sshd_config

所有用户的配制

PasswordAuthentication no   //禁用密码登录
PubkeyAuthentication yes     //使用pubkey密钥登录

Match User root    //单独配制root用户,也可能配制其他用户test等等,空格分开或者另外再写一个配制(Match User xxx)
    PasswordAuthentication yes   # 允许 密码登录
    PubkeyAuthentication no        # 禁用密钥认证

PasswordAuthentication (系统登录密码,不是ssh密码)
设置成no,就是禁用操作系统密码登录,不是ssh设置的密码,
设置成yes   就要输入系统登录密码,如果没有设置密码将无法进入系统

PubkeyAuthentication     (是ssh密码,不是系统密码)
设置成no,ssh连接时不需要验证
设置成yes   ssh连接需要验证密码,如果把本地的id_rsa.pub,添加到服务器.ssh/authorized_keys中也不要输入ssh密码

两都都为yes就没法能过shell和ssh进入,前都为系统用户级密码,后者是ssh密钥密码

# 添加ssh密钥实现免密git pull
sudo -u test mkdir -p /home/test/.ssh
sudo -u test touch /home/test/.ssh/authorized_keys

sudo -u test chmod 700 /home/test/.ssh
sudo -u test chmod 644 /home/test/.ssh/authorized_keys

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --list   //查看设置是不是成功

生成ssh密钥

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" [-f ~/.ssh/your_custom_name] -f这个是可选

本地id_rsa.pub添加到服务器.ssh/authorized_keys中,使用aliyun时,生成pubkey设置密码的就不能正常连接,没有设置密码的就可以正常连接,不知道什么原因。
 

----------------------------------------------------测试ssh 有没有通debug抓日志
# 服务器抓日志
sudo tail -f /var/log/auth.log  # 实时监控认证日志(Debian/Ubuntu)

本地抓日志
# 使用详细日志测试连接
ssh -Tv test@ip  
 

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

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

相关文章

DeepSeek本地部署(linux)

一、下载并安装Ollama 1.下载Ollama Ollama官网:Ollama 点击"Download",会跳转至下载页面。 1.1在线下载安装 可复制此命令到Linux服务器进行在线下载,如下载速度过慢,可选择离线下载安装。 curl -fsSL https://ollama.com/install.sh | sh1.2离线下载安装 …

MySQL的基础语法1(增删改查、DDL、DML、DQL和DCL)

目录 一、基本介绍 二、SQL通用语法 三、SQL分类(DDL、DML、DQL、DCL) 1.DDL 1.1数据库操作 1.2表操作 1.2.1表操作-查询创建 1.2.2表操作-数据类型 1)数值类型 2)字符串类型 3)日期时间类型​编辑 4)表操作-案例 1.2.3…

Oracle数据库数据编程SQL<3.3 PL/SQL 游标>

游标(Cursor)是Oracle数据库中用于处理查询结果集的重要机制,它允许开发者逐行处理SQL语句返回的数据。 目录 一、游标基本概念 1. 游标定义 2. 游标分类 二、静态游标 (一)显式游标 【一】不带参数,普通的显示游标 1. 显式…

畅享电脑流畅运行:深度卸载、智能监视与空间释放

软件介绍 在数字化办公与娱乐高度融合的当下,电脑承载着我们诸多重要任务,然而,随着软件的频繁安装与卸载,系统逐渐被各种顽固软件及其残留 “拖垮”,运行速度变慢、磁盘空间告急等问题接踵而至。别愁,今天…

Visual Studio Code 无法打开源文件解决方法

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 🔥 系列专栏:C从入门到精通 目录 一:🔥 突发状况 二:🔥 共勉 一:🔥 突发状况 🐬…

核函数(机器学习深度学习)

一、核函数的基本概念 核函数(Kernel Function) 是机器学习中处理非线性问题的核心工具,通过隐式映射将数据从原始空间转换到高维特征空间,从而在高维空间中实现线性可分或线性建模。其数学本质是计算两个样本在高维空间中的内积…

【工具】BioPred一个用于精准医疗中生物标志物分析的 R 软件包

介绍 R 语言包 BioPred 提供了一系列用于精准医疗中的亚组分析和生物标志物分析的工具。它借助极端梯度提升(XGBoost)算法,并结合倾向得分加权和 A 学习方法,帮助优化个体化治疗规则,从而简化亚组识别过程。BioPred 还…

【银河麒麟系统常识】命令:dotnet --list-sdks(列出已安装的 .NET SDK 版本)

命令&#xff1a; dotnet --list-sdks 功能 列出当前系统中所有已安装的 .NET SDK 版本&#xff1b; 返回值规则 # 1. 格式&#xff1a;<版本号>[<安装路径>]&#xff1b; # 2. 排序&#xff1a;按版本号从低到高排序&#xff1b;示例

关于JVM和OS中的栈帧的区别和内存浅析

关于JVM和OS中的栈帧的区别和内存浅析 刚看了黑马JVM中的栈帧的讲解&#xff0c;感觉和自己理解的栈帧有一定出入&#xff0c;查询资料研究了一下发现的确有天壤之别&#xff0c;可惜黑马并没有讲。 故写下这篇文章巩固一下, OS的栈帧&#xff1a; ​ OS的栈帧会在调用一个函…

拥抱健康生活,开启养生之旅

在快节奏的现代生活中&#xff0c;健康养生愈发重要。它不仅能让我们拥有强健体魄&#xff0c;还能提升生活质量。​ 均衡饮食是养生的基石。多吃蔬菜和水果&#xff0c;它们富含维生素与膳食纤维。比如西兰花&#xff0c;堪称 “蔬菜皇冠”&#xff0c;不仅含有丰富的维生素 …

visual studio 2017配置QT5.9.4环境

前提是已经安装完毕vs 2017以及QT5.9.4&#xff0c;然后再进行下列的操作 一 环境配置 修改成如下所示&#xff0c;然后关闭vs 打开浏览器&#xff0c;搜索网站download.qt.io 如果2.4.1版本出现问题&#xff0c;可以换版本&#xff0c;如2.3.1&#xff0c;2.7.1都比较稳定 …

基于EFISH-SBC-RK3576的无人机智能飞控与数据存储方案

一、方案背景 民用无人机在电力巡检、农业植保、应急救援等领域快速普及&#xff0c;但传统方案面临‌多协议设备兼容性差‌、‌野外环境数据易丢失‌、‌复杂电磁干扰‌三大痛点。 电鱼智能推出‌EFISH-SBC-RK3576‌&#xff0c;可集成双冗余总线接口与工业级加固存储&#x…

c++的特性——多态

目录 概念 多态实现条件 虚函数 虚函数的重写/覆盖 练习题 析构函数的重写 override和final关键字 重载/隐藏/重载的区别 纯虚函数和抽象类 多态 虚函数表指针 多态的原理 动态绑定与静态绑定 虚函数表总结 前面学习了C的三个特性中的两个特性&#xff0c;今天我们…

MySQL基础语法DDLDML

目录 #1.创建和删除数据库 ​#2.如果有lyt就删除,没有则创建一个新的lyt #3.切换到lyt数据库下 #4.创建数据表并设置列及其属性,name是关键词要用name包围 ​编辑 #5.删除数据表 #5.查看创建的student表 #6.向student表中添加数据,数据要与列名一一对应 #7.查询studen…

性能测试理论基础-性能指标及jmeter中的指标

1、什么是性能测试 通过一定的手段,在多并发下情况下,获取被测系统的各项性能指标,验证被测系统在高并发下的处理能力、响应能力,稳定性等,能否满足预期。定位性能瓶颈,排查性能隐患,保障系统的质量,提升用户体验。 2、什么样的系统需要做性能测试 用户量大,页面访问…

Postman CORS 测试完全指南:轻松模拟跨域请求,排查 CORS 相关问题

在使用 Postman 进行 API 测试时&#xff0c;通常不会遇到跨域问题&#xff0c;因为 Postman 是一个独立的客户端应用程序&#xff0c;不同于在浏览器中运行的 JavaScript 代码&#xff0c;它没有同源策略&#xff08;SOP&#xff09;的限制。跨域资源共享&#xff08;CORS&…

云原生系列-K8S实战

K8S实战 1. K8S 资源创建方式2. NameSpace 资源创建3. Pod4. Deployment5. Service6. Ingress7. 存储抽象1. 环境准备2. PV&PVC1&#xff09; 创建PV池2&#xff09; PVC创建与绑定 3. ConfigMap 抽取应用配置&#xff0c;并且可以自动更新1&#xff09; redis 示例2) 创建…

centos8上实现lvs集群负载均衡nat模式

1.背景&#xff1a; 个人&#xff08;菜鸟&#xff09;学习笔记&#xff0c;学点记下来&#xff0c;给未来的自己看。高手看了也请多指点。 按照课程讲&#xff0c;lvs是我国大神开发的负载均衡程序&#xff0c;被收录进内核&#xff0c;只要安装时内核里有它&#xff0c;它就…

影响HTTP网络请求的因素

影响 HTTP 网络请求的因素 1. 带宽 2. 延迟 浏览器阻塞&#xff1a;浏览器会因为一些原因阻塞请求&#xff0c;浏览器对于同一个域名&#xff0c;同时只能有4个连接&#xff08;这个根据浏览器内核不同可能会有所差异&#xff09;&#xff0c;超过浏览器最大连接数限制&…

(UI自动化测试web端)第二篇:元素定位的方法_css定位之css选择器

看代码里的【find_element_by_css_selector( )】( )里的表达式怎么写&#xff1f; 文章介绍了第三种写法css选择器&#xff0c;你要根据网页中的实际情况来判断自己到底要用哪一种方法来进行元素定位。每种方法都要多练习&#xff0c;全都熟了之后你在工作当中使用起来元素定位…