Задать вопрос
cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!

Permission denied (publickey,password). Как пофиксить?

Имеется вот такой gitlab-ci:
before_script:
  - apt-get update -qq
  - apt-get install -qq git
  - 'which ssh-agent || ( apt-get install -qq openssh-client )'
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
  - mkdir -p ~/.ssh
  - git rm --cached .gitlab-ci.yml
  - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

deploy_staging:
  type: deploy
  environment:
    name: staging
    url: server 
  script:
    - ssh -A login@server -p 22 "cd www/site.ru && git checkout master && git pull origin master && composer install && exit"
  only:
    - master


Сгенерировал SSH:
Приватный ключ добавил в перменные в репозитории и назвал: SSH_PRIVATE_KEY
Публичный добавил в настройки аккаунта gitlab.
на сервере сделал
git init
git remote add origin <ссылка для клона по SSH>
git add .
git commit -m "init"
git push

все хорошо, все прошло успешно.
проверил команду pull
git pull origin master

Изменения с гита успешно пришли.
Но на самом гите Job завершается с ошибкой на этом месте:
$ ssh -A login@server-p 22 "cd www/site.ru && git checkout master && git pull origin master && composer install && exit"
Warning: Permanently added 'server' (ECDSA) to the list of known hosts.
Permission denied, please try again.
Permission denied, please try again.
login@server: Permission denied (publickey,password).
ERROR: Job failed: exit code 1
  • Вопрос задан
  • 2452 просмотра
Подписаться 4 Простой 11 комментариев
Пригласить эксперта
Ответы на вопрос 1
@RazdoR
Можно попробовать указать ssh -o StrictHostKeyChecking=no и добавить ключ в authorized_keys через ssh-copy-id
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы