Запуск автоматизации на виртуальных экземплярах Google Cloud с помощью Ansible

Я пытаюсь автоматизировать виртуальные экземпляры облака Google удаленно, используя только внешние IP-адреса виртуальных машин. Я могу подключиться к виртуальным машинам по ssh, используя командную строку с именем пользователя shishir9159_gmail_com. Но если я использую какие-либо доступные команды, подобные этой:

ansible -i hosts -u shishir9159_gmail_com --private-key=~/.ssh/google_compute_engine -m ping all

и это приводит к следующей ошибке:

"msg": "Failed to connect to the host via ssh: [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic)."

Я добавил несколько параметров в свой файл ansible.cfg:

host_key_checking = False
ssh_args = -o ControlMaster=no

Но я не думаю, что они могут сильно помочь в соответствии с этим сообщением:
https://serverfault.com/questions/929222/ansible-where-do-preferredauthentication-ssh-settings-come-from

И я перепробовал множество методов и рекомендаций. У меня есть учетная запись службы, но она не кажется мне необходимой для этой простой команды ping.


person noobmaster69    schedule 22.12.2019    source источник


Ответы (2)


Проблема в подчеркивании имени пользователя. Попробуйте добавить имя пользователя без подчеркивания или попробуйте использовать кавычки.

person Ahmed Abdelazim    schedule 22.12.2019
comment
это имя пользователя автоматически создается через Google Cloud Platform с моего адреса электронной почты. Я могу подключиться к экземплярам vm по ssh с помощью этой команды ssh -i ~/.ssh/google_compute_engine [email protected]. И это имя пользователя обеспечивает управление экземплярами виртуальных ящиков. Есть ли способ переименовать предоставленное имя пользователя через gcp? - person noobmaster69; 22.12.2019
comment
Это имя пользователя представляет собой учетные данные, присвоенные GCP. Речь идет даже не о переименовании имени пользователя облачной оболочки. При всем уважении, вы не можете изменить учетные данные GCP с помощью простых команд Linux. - person noobmaster69; 22.12.2019

Я решил проблему, добавив ansible_ssh_user и ansible_ssh_pass в файл hosts. Этот пост содержит решение. сбой подключения по SSH

person noobmaster69    schedule 24.12.2019
comment
Ваш вопрос и ответ меня сбивают с толку: в вопросе вы пытаетесь подключиться с использованием открытого ключа, но в ответ вы ссылаетесь на аутентификацию по паролю ssh. Пожалуйста, обновите свой вопрос и / или ответ, чтобы уточнить. - person ivan_onys; 25.12.2019
comment
--private-key=~/.ssh/google_compute_engine это относится к файлу закрытого ключа, который я использую. А для аутентификации с открытым ключом требуется ключ ssh. - person noobmaster69; 28.12.2019