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

接下来启动容器就好了!

目录
相关文章
|
7月前
|
Ubuntu Linux 网络安全
【计算机网络】SSH 服务安装
【1月更文挑战第10天】【计算机网络】SSH 服务安装
|
4月前
|
网络协议 关系型数据库 MySQL
ssh端口转发
ssh端口转发
|
网络安全 数据安全/隐私保护
华为交换机基本配置之Telnet和SSH方式远程登录
华为交换机基本配置之Telnet和SSH方式远程登录
1778 0
|
网络协议 安全 网络安全
ssh远程访问及控制
ssh远程访问及控制
116 1
|
运维 网络安全 数据安全/隐私保护
华为交换机如何配置SSH远程登录,一分钟秒学会
华为交换机如何配置SSH远程登录,一分钟秒学会
4134 0
华为交换机如何配置SSH远程登录,一分钟秒学会
|
Linux 网络安全 数据安全/隐私保护
【Linux网络服务】SSH远程访问即控制
【Linux网络服务】SSH远程访问即控制
|
网络协议 安全 Linux
ssh端口转发(跳板机)详解
如果在工作环境中,被防火墙限制了一些网络端口的使用,但是允许SSH的连接,也能够将通过ssh端口转发来进行通讯。
4873 1
ssh端口转发(跳板机)详解
|
网络协议 安全 Linux
SSH远程访问以及控制
SSH远程访问以及控制
276 0
|
Oracle 关系型数据库 Linux
PuTTY+Xming实现X11的ssh转发
PuTTY+Xming实现X11的ssh转发
401 0
|
网络安全
SSH通过SSH代理连接到内网机器
要解决的问题? 需要解决的问题:https://q.cnblogs.com/q/105319/ 简单来说就是本地机器通过一台公网机器SSH到公网机器后面的私网机器。 网络环境如下图:本地机器可访问代理机器,代理机器可访问内网机器,本地机器和内网机器不互通 操作步骤: 1.实现本地机器到代理机器的SSH连接。
2064 0