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

GitLab Runner部署任务失败(退出码1)求助

GitLab Runner SSH部署Windows失败排查方案

原始配置

stages:
  - deployment-windows

image: ubuntu:latest

deployment-windows:
  stage: deployment-windows
  variables:
    GIT_BRANCH: demo
    PROJECT_NAME: $CI_PROJECT_NAME
    PROJECT_DIR: "${PROJECT_NAME}"
  rules:
    - if: '$CI_COMMIT_BRANCH == "demo"'
  before_script:
    - apt-get update -qq && apt-get install -y -qq sshpass
  script:
  - sshpass -p **** ssh emamian-pc@*.*.*.* "hostname && mkdir test"

报错信息

Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
$ sshpass -p **** ssh emamian-pc@**** "hostname && mkdir test"
ERROR: Job failed: exit code 1

排查与解决步骤

  • 开启SSH调试日志定位问题
    修改script中的命令,添加-vvv参数获取详细连接日志,这是最直接的排查方式:

    sshpass -p **** ssh -vvv emamian-pc@*.*.*.* "hostname && mkdir test"
    

    日志会明确显示是网络连接失败、认证错误还是权限问题。

  • 检查Windows主机SSH服务状态

    • 确认Windows已安装并启动OpenSSH Server:在PowerShell中执行Get-Service sshd,确保状态为Running;未安装的话通过「设置-应用-可选功能」添加OpenSSH服务器。
    • 检查Windows防火墙是否允许22端口(SSH默认端口)的入站连接,可临时关闭防火墙测试是否是拦截导致的问题。
  • 验证SSH密码登录有效性

    • 确认emamian-pc账户的密码正确,手动用SSH客户端(比如本地终端)尝试密码登录,验证是否能成功连接并执行命令。
    • 检查Windows的SSH配置文件C:\ProgramData\ssh\sshd_config,确保PasswordAuthentication yes已开启(默认可能关闭),修改后执行Restart-Service sshd重启服务。
  • 处理首次连接的主机密钥验证
    容器首次连接Windows主机时,SSH会要求确认主机密钥,默认会阻断命令执行。可以临时添加参数跳过验证(生产环境建议预先导入主机密钥):

    sshpass -p **** ssh -o StrictHostKeyChecking=no emamian-pc@*.*.*.* "hostname && mkdir test"
    
  • 改用SSH密钥登录(更安全可靠)
    密码登录容易出现泄露或配置问题,推荐用密钥认证:

    1. 在GitLab Runner的Ubuntu容器中生成密钥对:
      ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsa
      
    2. 将生成的公钥~/.ssh/id_rsa.pub内容,复制到Windows主机emamian-pc账户的C:\Users\emamian-pc\.ssh\authorized_keys文件中(没有该文件则新建)。
    3. 修改script命令为:
      ssh -i ~/.ssh/id_rsa emamian-pc@*.*.*.* "hostname && mkdir test"
      
      同时可以去掉before_script中的sshpass安装步骤。
  • 检查目标目录权限
    mkdir test默认在用户家目录创建,确认emamian-pc账户对家目录有写入权限;如果要在其他路径创建,需指定完整路径并确保账户有对应权限。

内容的提问来源于stack exchange,提问作者S.M_Emamian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 15:42:43