GitLab警告:不受保护的私钥文件! '/ dev / fd / 63'的权限0660太开放了

问题描述 投票:0回答:1

我使用适用于CI / CD的GitLab,我希望通过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。但没有任何效果。

ssh gitlab gitlab-ci ssh-keys private-key
1个回答
0
投票

我找到了解决方案。我将变量中的私钥格式更改为不带空格($ cat private_key_name | base64 -w 0)的base64。

并且我这样更改了gitlab-ci.yml文件:

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'
      - echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add -
      - apt-get install rsync
    script:
      - ssh pi@IP-ADDRESS "cd dockerproject2 && mkdir test"
    tags:
      - ssh
© www.soinside.com 2019 - 2024. All rights reserved.