#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. Проверьте следующий пример:
Комментарии:
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. Я запустил конвейер, который прошел! (Интересно, может быть, я все это время что-то переписал неправильно)