GitLab ПРЕДУПРЕЖДЕНИЕ: Незащищенный частный ключевой файл! Разрешения 0660 для '/ dev / fd / 63' слишком открыты - PullRequest
0 голосов
/ 11 февраля 2020

Я использую GitLab для CI / CD, и я хотел бы s sh для моего Raspberry Pi для развертывания. Я сгенерировал новую пару ключей ED25519 SSH, добавил закрытый ключ к переменным и ключ pubi c для развертывания ключей.

Мой файл 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 после этого. Но ничего не помогло.

1 Ответ

0 голосов
/ 11 февраля 2020

Я нашел решение.

Просто невозможно использовать эту команду следующим образом: ssh-add <(echo "$SSH_PRIVATE_KEY")

Она должна выглядеть следующим образом: echo "$SSH_PRIVATE_KEY" | ssh-add -

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...