配置容器中的 Gitea SSH 与主机 SSH 共存
Zapic
2026-04-30 0

默认情况下,想要启用Gitea的SSH代码拉取,必须要修改SSH端口或者禁用主机上的SSH。若想要直接使用宿主机上的SSHD,需要进行一些配置。

假设Gitea在容器中运行,非容器可作为参考。

  1. 在宿主机上创建git用户
  2. /home/git/.ssh 映射到容器中Gitea写入.ssh的位置,一般是/home/git/.ssh,可以通过Gitea app.ini的SSH_ROOT_PATH配置(配置此项请参考Gitea文档的Config Cheatsheet)。
  3. 将Gitea的SSH端口映射到宿主机上使其可以访问,例如22222,然后尝试通过ssh [email protected] -p22222访问,应当收到鉴权失败之类的消息,而不是无法访问。
  4. 尝试在Gitea中添加一些密钥,检查宿主机目录中的/home/git/.ssh/authorized_keys中是否有内容,找到要执行的命令是什么,即command=后的内容,一般是/usr/local/bin/gitea ...
  5. 在宿主机上同样的位置创建一个转发用的脚本并赋予执行权限,将SSH命令转发到容器中。

    #!/bin/bash
    ssh -p 22222 -o StrictHostKeyChecking=no [email protected] "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
  6. 测试拉取推送代码
评论 0
没有评论
评论已关闭
发表评论
评论 取消回复
Copyright © 2026 Zapic's Blog