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点击复制复制失败已复制

接下来启动容器就好了!

目录
相关文章
|
4月前
|
安全 数据挖掘 Shell
SSH安全远程登录与端口转发
**SSH 概述**:SSH 是开发者必备工具,用于安全远程登录及文件传输。本文聚焦SSH的两大功能:**密钥登录**和**端口转发**。
112 0
|
2月前
|
网络协议 关系型数据库 MySQL
ssh端口转发
ssh端口转发
|
网络安全 数据安全/隐私保护
华为交换机基本配置之Telnet和SSH方式远程登录
华为交换机基本配置之Telnet和SSH方式远程登录
1610 0
|
网络协议 安全 网络安全
ssh远程访问及控制
ssh远程访问及控制
99 1
|
Linux 网络安全 数据安全/隐私保护
【Linux网络服务】SSH远程访问即控制
【Linux网络服务】SSH远程访问即控制
|
网络协议 安全 Linux
ssh端口转发(跳板机)详解
如果在工作环境中,被防火墙限制了一些网络端口的使用,但是允许SSH的连接,也能够将通过ssh端口转发来进行通讯。
4732 1
ssh端口转发(跳板机)详解
|
网络协议 安全 Linux
SSH远程访问以及控制
SSH远程访问以及控制
266 0
|
Oracle 关系型数据库 Linux
PuTTY+Xming实现X11的ssh转发
PuTTY+Xming实现X11的ssh转发
380 0
|
安全 网络安全 数据安全/隐私保护
|
安全 网络协议 网络安全