【问题标题】:GitLab WARNING: UNPROTECTED PRIVATE KEY FILE! Permissions 0660 for '/dev/fd/63' are too openGitLab 警告:未受保护的私钥文件! '/dev/fd/63' 的权限 0660 太开放
【发布时间】:2020-05-26 18:00:57
【问题描述】:

我将 GitLab 用于 CI/CD,我想通过 ssh 连接到我的 Raspberry Pi 进行部署。 我生成了一个新的ED25519 SSH 密钥对,将私钥添加到变量中,将公钥添加到部署密钥。

我的 gitlab-ci.yaml 文件如下所示:

deployment:
    stage: deploy
    before_script:
      - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
      - mkdir -p ~/.ssh
      - chmod 700 ~/.ssh
      - eval $(ssh-agent -s)
      - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
      - ssh-add <(echo "$SSH_PRIVATE_KEY")
      - apt-get install rsync
    script:
      - ssh pi@IP-ADDRESS "cd dockerproject2 && mkdir test"
    tags:
      - ssh

这是我的部署阶段的输出:

$ which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )
/usr/bin/ssh-agent
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ eval $(ssh-agent -s)
Agent pid 2805
$ [[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
$ ssh-add <(echo "$SSH_PRIVATE_KEY")
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/dev/fd/63' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
ERROR: Job failed: exit status 1

我尝试使用$ chmod 600 private_key_name$ chmod 0644 private_key_name更改私钥的权限。之后我重新启动了Raspberry Pi。但没有任何效果。

【问题讨论】:

  • /dev/fd/63 是您在使用 Bash 进程替换 (ssh-add &lt;(echo "$SSH_PRIVATE_KEY")) 时获得的管道名称。您需要更改它,或者向ssh-add 写入一个修复程序,该修复程序仅在读取常规文件而不是管道时检查权限。

标签: ssh gitlab gitlab-ci ssh-keys private-key


【解决方案1】:

我找到了解决办法。

不可能像这样使用这个命令:ssh-add &lt;(echo "$SSH_PRIVATE_KEY")

它必须看起来像这样:echo "$SSH_PRIVATE_KEY" | ssh-add -

【讨论】:

    猜你喜欢
    • 2017-02-22
    • 2018-09-06
    • 1970-01-01
    • 2012-04-22
    • 2016-08-08
    • 2014-01-13
    • 2010-09-17
    • 2018-07-30
    相关资源
    最近更新 更多