Привет всем, я новичок в ansible, я работаю над Ubuntu 16.04 и ansible 2.2, как вытащить репозиторий bitbucket на удаленный сервер с помощью ansible? Я подключился к хостам и могу выполнить команду ping или выполнить простую команду, используя свой доступный для удаленного сервера, я пробовал этот метод клонирования частного репо на удаленном сервере , но я получил эту ошибку:
"stderr ":" Клонирование в '/home/deploy/test'...\nПретензия запрещена (публичный ключ). \ R \ nfatal: Не удалось прочитать из удаленного репозитория. \ N \ nУбедитесь, что у вас есть правильные права доступа \ nи репозиторий существует. \ n ",
Нужно ли мне сгенерировать ключ SSH из битбакета или вставить свой открытый ключ в битбакет? Как я уже сказал, я новичок, и это очень срочно, спасибо.
Лучшее решение - сгенерировать пару ключей на вашей рабочей станции, загрузить открытый ключ в bitbucket и скопировать закрытый ключ пользователю, с которым вы выполняете клонирование git на целевом сервере. С помощью этого решения вы можете автоматизировать развертывание на нескольких серверах без создания новой пары ключей на каждом из них.
Вы можете указать ключевой файл с помощью параметра key_file
из Ansible git module
в общем случае использование закрытого ключа не считается безопасным, потому что если целевой сервер взломан, этот ключ раскрывается. Безопасная альтернатива - использование пересылки агента ssh из доступного экземпляра. таким образом, в битбакете необходимо зарегистрировать только доступный ключ, и он никогда не отображается на целевых хостах. взгляните на эту статью: https://www.jeffgeerling.com/blog/2018/cloning-private-github-repositories-ansible-on-remote-server-through-ssh если вы хотите знать, как добавить ключ ssh к ssh-агенту: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the -ssh-agent /