You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自建GitLab推送需用户名密码,但ssh -T连接正常求助

GitLab Docker部署后无法推送代码(SSH/HTTP均要求密码)

问题描述

  • 通过gitlab/gitlab-ce镜像部署GitLab后,SSH连接验证正常:
root@saeed:/home/node# ssh -T git@git.mydomain.ir -p2222
Welcome to GitLab, @root!
  • 执行推送命令时,系统要求输入git用户密码,即使已添加SSH密钥:
root@saeed:/home/node# git init --initial-branch=main; git remote add origin git@git.mydomain.ir:root/public-node.git; git add app.js; git commit -m 'init'; git push -u origin main
git@git.mydomain.ir's password:
  • HTTP方式推送同样要求输入密码。

当前docker-compose.yml配置

version: '3.6'
services:
  web:
    image: gitlab/gitlab-ce:latest
    restart: always
    hostname: git
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://git.mydomain.ir'
      GITLAB_HOST: 'http://git.mydomain.ir'
      GITLAB_ROOT_PASSWORD: 'SomePass'
      EXTERNAL_VALIDATION_SERVICE_TIMEOUT: 600
    ports:
      - '80:80'
      - '443:443'
      - '2222:22'
    volumes:
      - './config:/etc/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'

解决方案

1. 修正SSH远程仓库地址的端口问题

你当前的远程地址git@git.mydomain.ir:root/public-node.git默认使用22端口,但Docker映射的是2222端口。Git的SSH地址默认端口为22,需显式指定端口:

# 删除原有远程仓库
git remote remove origin
# 添加带端口的远程地址
git remote add origin ssh://git@git.mydomain.ir:2222/root/public-node.git
# 重新推送
git push -u origin main

也可直接修改本地仓库的.git/config文件,将url字段改为:

url = ssh://git@git.mydomain.ir:2222/root/public-node.git

2. 检查GitLab容器内的SSH配置

进入GitLab容器,确认SSH服务配置正确:

# 进入容器(替换为你的容器名称/ID)
docker exec -it <container-name-or-id> bash
# 查看sshd监听端口
cat /etc/ssh/sshd_config | grep Port

确保容器内sshd监听端口为22(与Docker端口映射的内部端口一致),若需强制禁用密码登录,可将PasswordAuthentication设置为no。

3. 解决HTTP推送的密码问题

HTTP推送要求密码通常是因为未使用个人访问令牌,或账号权限配置问题:

  • 登录GitLab网页,生成个人访问令牌,勾选read_repository和write_repository权限;推送时用户名填GitLab账号,密码填该令牌。
  • 确认external_url配置正确,确保HTTP请求能正确路由到GitLab服务。

4. 验证仓库权限

确认当前GitLab账号(@root)对root/public-node.git仓库拥有开发者及以上权限:
登录GitLab网页,进入仓库的「设置」→「成员」,检查账号权限等级。

5. 重启GitLab容器

修改配置后,重启容器使设置生效:

docker-compose restart web

内容的提问来源于stack exchange,提问作者Saeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 09:15:15