Как использовать открытый ключ в Azure devops pipline копировать файлы по SSH

#ssh #azure-devops #azure-pipelines

#ssh #azure-devops #azure-конвейеры

Вопрос:

Я пытаюсь использовать Azure DevOps для развертывания приложения Laravel на веб-сайте Bluehost.

Идея заключается в том, что когда я фиксирую изменения в своем репозитории, запускается конвейер и запускается composer, а затем развертывается на веб-сайте.

Проблема, с которой я сталкиваюсь, заключается в том, что аутентификация с помощью Bluehost завершается с ошибкой, даже после того, как я авторизовал ключ SSH (я могу авторизовать только открытые ключи).

Ошибка: не удалось подключиться к удаленному компьютеру. Проверьте сведения о подключении к службе SSH. Не удалось подключиться к удаленному компьютеру. Проверьте сведения о подключении к службе SSH. Ошибка: сбой всех настроенных методов аутентификации..

Моя теория заключается в том, что DevOps генерирует новый открытый ключ для входа в BlueHost, который не проходит проверку подлинности (поскольку это не авторизованный открытый ключ).

Я вижу, что есть задача «Установить SSH-ключ», которую я могу использовать; однако я не понимаю, как использовать загруженный ключ в задаче «Копировать по SSH».

Как я могу использовать открытый ключ в задаче копирования конвейера Azure DevOps через SSH?

Комментарии:

1. Можете ли вы поделиться своим конвейерным кодом? я также пытаюсь выполнить развертывание в cpanel

Ответ №1:

Предварительные условия использования Copy Files Over SSH task следующие:

  • Задача поддерживает использование пары ключей SSH для подключения к удаленным компьютерам.
  • Открытый ключ должен быть предварительно установлен или скопирован на удаленные компьютеры.

Когда вы используете задачу Install SSH Key, ключи SSH устанавливаются на удаленном компьютере. Вам не нужно загружать его в Copy Files Over SSH task. Проверьте следующий пример:

https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/install-ssh-key?view=azure-devops#example-setup-using-github

Комментарии:

1. О, итак, установка SSH-ключа не устанавливается на машину, обрабатывающую развертывание. Он устанавливает ключ на удаленный компьютер? (Что уже сделано). Я предполагаю, что мой вопрос в том, как мне использовать копирование файлов по SSH с помощью открытого ключа, который я добавил на удаленный компьютер?

2. Открытый ключ должен быть установлен на вашем удаленном компьютере. При создании подключения к службе SSH вам необходимо указать имя пользователя пароль или предоставить закрытый ключ. Проверьте следующие ссылки: learn.microsoft.com/en-us/azure/devops/pipelines/library /… , learn.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy /. … Кроме того, эта задача предназначена для целевых машин под управлением Linux. На ваших целевых машинах работает Linux?

3. Как продвигается ваша проблема?

4. Прошу прощения, я там какое-то время болел. Я смог обойти это, развернув вместо этого FTPS. Проблема не решена, так как авторизация по-прежнему завершается сбоем. Целевая машина действительно работает под управлением Linux, и открытый ключ авторизован.

5. Я смог заставить это работать сегодня 1. Я создал пару ключей SSH и загрузил оба на Bluehost через cPanel 2. Я авторизовал открытый ключ. 3. Я создал резервную копию локальных ssh-ключей своих машин для разработчиков и подключился к серверу с помощью закрытого ключа. 4. После успеха я затем скопировал содержимое закрытого ключа в службу SSH в devops. 5. Я запустил только «Копировать файлы по SSH» для своего SSH-соединения, используя ранее отредактированную службу SSH. (Как вы и предлагали) 6. Я запустил конвейер, который прошел! (Интересно, может быть, я все это время что-то переписал неправильно)