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

GitLab Pipeline执行SCP时出现Permission denied问题求助

GitLab Pipeline SCP传输文件Permission Denied 问题解决

问题场景回顾

本地已生成专用SSH密钥对,公钥成功添加至服务器授权列表,本地可通过密钥免密SSH/SCP操作,但GitLab Pipeline执行SCP时出现Permission denied (publickey,password)错误。


排查与修复步骤

1. 验证Pipeline中密钥是否成功加载

在before_script中添加密钥指纹查看命令,确认私钥是否被ssh-agent正确加载:

before_script:
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
  - eval $(ssh-agent -s)
  - echo "$IDENTITY" | tr -d '\r' | ssh-add - > /dev/null
  - ssh-add -l  # 新增:查看已加载的密钥指纹
  - mkdir -p ~/.ssh
  - chmod 700 ~/.ssh

若输出中无目标密钥指纹,说明加载失败:

  • 检查GitLab变量IDENTITY:确保包含完整私钥文本(含-----BEGIN RSA PRIVATE KEY-----和-----END RSA PRIVATE KEY-----行),无多余空格/换行。
  • 将变量类型设为File(GitLab项目设置→CI/CD→变量中勾选"File"),避免换行符被转义。

2. 修正服务器端SSH权限

服务器.ssh目录及authorized_keys权限不符合要求会导致公钥失效,登录服务器执行:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R user:user ~/.ssh  # 替换为你的服务器用户名

同时确认authorized_keys中完整包含id_rsa_pipeline.pub内容。

3. 统一SCP命令中的主机标识

错误日志显示SCP用user@development,但实际指向user@server,说明Runner环境无法解析development别名:

  • 直接替换为服务器IP:
after_script:
    - scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null /path/to/my/file.txt user@192.168.1.50:/home/user/
  • 若为自有Runner,可在Runner的~/.ssh/config中添加别名配置:
Host development
    HostName 192.168.1.50
    User user

4. 显式指定密钥路径(备选方案)

跳过ssh-agent,直接在SCP中指定私钥:
先在before_script写入私钥文件:

before_script:
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
  - mkdir -p ~/.ssh
  - echo "$IDENTITY" | tr -d '\r' > ~/.ssh/id_rsa_pipeline
  - chmod 600 ~/.ssh/id_rsa_pipeline
  - chmod 700 ~/.ssh

再修改SCP命令:

after_script:
    - scp -i ~/.ssh/id_rsa_pipeline -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null /path/to/my/file.txt user@192.168.1.50:/home/user/

5. 检查服务器SSH配置

确认服务器/etc/ssh/sshd_config开启公钥认证:

grep -E "PubkeyAuthentication|PasswordAuthentication" /etc/ssh/sshd_config

确保PubkeyAuthentication yes,修改后重启sshd:systemctl restart sshd


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 07:57:20