Я использую GitLab для CI / CD, и я хотел бы s sh для моего Raspberry Pi для развертывания. Я сгенерировал новую пару ключей ED25519 SSH
, добавил закрытый ключ к переменным и ключ pubi c для развертывания ключей.
Мой gitlab-ci.yml
файл выглядит следующим образом:
deyployment:
stage: deploy
image: ubuntu:latest
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" > key
- chmod 600 key
- ssh-add key
- rm key
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
script:
- ssh -o StrictHostKeyChecking=no pi@IP_ADDRESS 'cd dockerproject2 && mkdir test'
tags:
- ssh
Я получаю этот вывод после запуска задания развертывания:
$ ssh -o StrictHostKeyChecking=no pi@IP_ADDRESS 'cd dockerproject2 && mkdir test'
ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
Permission denied, please try again.
ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
Permission denied, please try again.
ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
pi@IP_ADDRESS: Permission denied (publickey,password).
Пока я просто использую клавишу s sh. Я не уверен, но вывод Permission denied (publickey,password)
выглядит так, как будто Raspberry Pi также нужен пароль.
Я также пытался использовать клавишу id_rsa
в папке ~/.ssh
. Я сгенерировал папку ~/.ssh/authorized_keys
и сохранил там копию файла id_rsa.pub
. Это дало мне тот же результат.