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

GitLab Runner在Windows 10执行SSH时卡顿问题求助

Windows 10 GitLab Runner SSH卡壳问题解决方案

1. 检查Runner的运行身份

Windows下GitLab Runner默认用Local System账户运行,这个账户和你日常登录的用户属于完全不同的环境,它读取不到你用户目录C:\Users\<你的用户名>\.ssh里的密钥文件。

  • 解决步骤:
    • 打开services.msc找到GitLab Runner服务,右键选择「属性」
    • 切换到「登录」标签,选择「此账户」,输入你本地能正常SSH的账户密码,重启服务
    • 重新触发流水线测试

2. 显式指定SSH密钥路径

Runner运行时可能找不到默认的密钥文件,别依赖系统自动识别,直接在SSH命令里明确指定:

ssh -i C:/Users/<你的用户名>/.ssh/id_rsa 目标机器用户名@目标机器IP "要执行的命令"

路径记得用正斜杠,或者把反斜杠转义成\\格式

3. 处理Known_hosts指纹验证问题

Local System账户的known_hosts文件不在你用户的.ssh目录下,第一次连接目标机器时会弹出指纹确认请求,直接导致流水线卡壳。

  • 两种解决办法:
    1. 用Runner的运行账户(如果改了就是你自己的用户,没改的话需要用Local System身份打开cmd)手动连接一次目标机器,确认指纹以生成known_hosts文件
    2. 测试环境可临时加参数跳过验证(生产环境不推荐):
    ssh -o StrictHostKeyChecking=no -i <密钥路径> 目标机器用户名@目标机器IP "要执行的命令"
    

4. 核对Deploy Keys的权限

别只确认GitLab仓库里加了Deploy Keys,要检查目标机器的~/.ssh/authorized_keys文件里确实存在这个公钥,同时:

  • authorized_keys文件权限必须设为600
  • .ssh目录权限必须设为700
  • 公钥本身不能有多余换行或格式错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 04:42:39