SSH 直通

简介: SSH 直通

作用

SSH直通的作用就是我们在 clone 仓库的时候不用写上特殊的端口,使用默认的 22 号端口。 clone 命令和正常命令一样。

#ssh直通
$ git clone git@192.168.3.59:zhangbing/fm650.git
#非ssh直通
$ git clone git@192.168.3.59:222:zhangbing/fm650.git点击复制复制失败已复制


环境准备

宿主机建立 git 用户,参考:添加用户

接下来查看 git 用户的 uidgid

$ id git
uid=1001(git) gid=1001(git) groups=1001(git)点击复制复制失败已复制


docker-compose.yaml

注意

先不要着急启动容器,后面要有配置工作。

version: "3"
services:
  server:
    image: gitea/gitea:1.16.5
    container_name: gitea
    restart: always
    environment:
      - USER_UID=1001
      - USER_GID=1001
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    networks:
      - gitea
    volumes:
      - gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - /home/git/.ssh/:/data/git/.ssh
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db
  db:
    image: postgres:14.5-alpine3.16
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=gitea
      - POSTGRES_DB=gitea
    networks:
      - gitea
    volumes:
      - postgres:/var/lib/postgresql/data
networks:
  gitea:
    external: false
volumes:
  gitea:
    driver: local
  postgres:
    driver: local点击复制复制失败已复制


提示

主要区别与官方文档的 USER_UIDUSER_GID 哦!


配置工作

Step1. 创建git用户的ssh秘钥

$ sudo -u git ssh-keygen -t rsa -b 4096 -C "Gitea Host Key"点击复制复制失败已复制


Step2. 创建gitea可执行文件

$ sudo vim /usr/local/bin/gitea
#写入如下内容
ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
#赋予可执行权限
$ sudo chmod +x /usr/local/bin/gitea点击复制复制失败已复制


Step3. 增加验证文件

$ echo "$(cat /home/git/.ssh/id_rsa.pub)" >> /home/git/.ssh/authorized_keys点击复制复制失败已复制

接下来启动容器就好了!

目录
相关文章
|
存储 缓存 监控
iOS 底层原理39:Instruments系列(一)Instruments介绍
iOS 底层原理39:Instruments系列(一)Instruments介绍
2304 0
iOS 底层原理39:Instruments系列(一)Instruments介绍
|
11月前
|
网络协议 算法 数据库
OSPF中的Router LSA详解
OSPF中的Router LSA详解
429 4
|
编解码 Go 文件存储
【YOLOv8改进 - 特征融合NECK】 DAMO-YOLO之RepGFPN :实时目标检测的创新型特征金字塔网络
【YOLOv8改进 - 特征融合NECK】 DAMO-YOLO之RepGFPN :实时目标检测的创新型特征金字塔网络
|
消息中间件 Linux 调度
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
978 0
|
前端开发 JavaScript 安全
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
924 0
|
NoSQL Linux 编译器
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
如何配置环境并使用QEMU虚拟机结合GDB进行Linux内核代码的断点调试,包括安装QEMU、交叉编译工具链,编译内核以及通过GDB远程连接进行调试的详细步骤。
996 0
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
|
人工智能 测试技术
探索人工智能在测试领域的新纪元:AI编写测试用例的前景
本文介绍了测试用例的重要性及其基本组成元素,如模块、标题、前置条件等。通过实践演练展示了如何利用ChatGPT自动生成测试用例,包括关键词精确匹配、模糊匹配、异常输入和搜索结果为空的场景。通过向ChatGPT提供详细需求和格式规范,可以得到Markdown格式的测试用例,然后导入Excel进行归档。关键在于清晰阐述需求、逐步细化任务,并对ChatGPT的回复进行调整优化。
|
Ubuntu 关系型数据库 网络安全
基于docker搭建gitea私服仓库,并开启https访问、ssh访问和邮箱验证通知功能
基于docker搭建gitea私服仓库,并开启https访问、ssh访问和邮箱验证通知功能
3433 1
基于docker搭建gitea私服仓库,并开启https访问、ssh访问和邮箱验证通知功能
|
网络架构
移远EC20、EC200S-CN上网测试
移远EC20、EC200S-CN上网测试
1144 2