Девопсы есть тут / ansible вопрос?

Аватара пользователя
M. Ridcully
Уже с Приветом
Сообщения: 12017
Зарегистрирован: Пт сен 08, 2006 3:07 pm
Откуда: Силиконка

Девопсы есть тут / ansible вопрос?

Сообщение M. Ridcully »

По какой-то странной причине, ansible переходит на нечто, под названием Paramiko при использовании password authentication.
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
Мир Украине. Свободу России.
zVlad
Уже с Приветом
Сообщения: 15437
Зарегистрирован: Ср апр 30, 2003 11:43 am
Благодарил (а): 3 раза

Re: Девопсы есть тут / ansible вопрос?

Сообщение zVlad »

M. Ridcully писал(а): Вт июл 11, 2017 7:27 pm По какой-то странной причине, ansible переходит на нечто, под названием Paramiko при использовании password authentication.
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
Да тут все просто: не надо пепелацу без гравицапы из гаража выкатывать.
Oleg-NY
Уже с Приветом
Сообщения: 2418
Зарегистрирован: Чт июл 15, 2004 7:32 pm
Откуда: NY, NY

Re: Девопсы есть тут / ansible вопрос?

Сообщение Oleg-NY »

Сомневаюсь, что чисто питоновский ssh клент понимает OpenSSH-вский конфиг. Хотя все возможно. Я не в курсе деталей имплементации Paramiko.
kostik78
Уже с Приветом
Сообщения: 3175
Зарегистрирован: Чт май 17, 2007 9:07 am
Контактная информация:

Re: Девопсы есть тут / ansible вопрос?

Сообщение kostik78 »

M. Ridcully писал(а): Вт июл 11, 2017 7:27 pm По какой-то странной причине, ansible переходит на нечто, под названием Paramiko при использовании password authentication.
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
Тока что проверил ansible 2.2.1.0 использует ssh не Paramiko. Paramiko был дефолтовым в самом начале жизни Ansible. Сейчас по умолчанию используется ssh (Linux and Mac OS X). Про винду не знаю.
Аватара пользователя
M. Ridcully
Уже с Приветом
Сообщения: 12017
Зарегистрирован: Пт сен 08, 2006 3:07 pm
Откуда: Силиконка

Re: Девопсы есть тут / ansible вопрос?

Сообщение M. Ridcully »

kostik78 писал(а): Ср июл 12, 2017 10:43 am
M. Ridcully писал(а): Вт июл 11, 2017 7:27 pm По какой-то странной причине, ansible переходит на нечто, под названием Paramiko при использовании password authentication.
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
Тока что проверил ansible 2.2.1.0 использует ssh не Paramiko. Paramiko был дефолтовым в самом начале жизни Ansible. Сейчас по умолчанию используется ssh (Linux and Mac OS X). Про винду не знаю.
Речь о случае, когда использую --ask-pass опцию. У меня молчаливо (!) переходит на Paramiko. Пришлось, блин, в исходники лезть, чтобы понять, почему одна и та же команда работает работает с использованием ключей, но не находит хост, если добавляешь -k / --ask-pass.

Ну хрен с ним, пускай используют Paramiko, если им нужно. Но пусть эта библиотека хотя бы ~/.ssh/config понимает!
Мир Украине. Свободу России.
Oleg-NY
Уже с Приветом
Сообщения: 2418
Зарегистрирован: Чт июл 15, 2004 7:32 pm
Откуда: NY, NY

Re: Девопсы есть тут / ansible вопрос?

Сообщение Oleg-NY »

M. Ridcully писал(а): Ср июл 12, 2017 11:15 am Ну хрен с ним, пускай используют Paramiko, если им нужно. Но пусть эта библиотека хотя бы ~/.ssh/config понимает!
Ну это как бы врядли! Все-таки OpenSSH и Paramiko из сильно разных бочек. Другое дело какой _реально_ метод SSH аутентификации --ask-pass опция подразумевает. Это может быть и "password", и "keyboard-interactive"... В последнем случае не мудрено, что они переключаются на встроенный клиент.
Аватара пользователя
M. Ridcully
Уже с Приветом
Сообщения: 12017
Зарегистрирован: Пт сен 08, 2006 3:07 pm
Откуда: Силиконка

Re: Девопсы есть тут / ansible вопрос?

Сообщение M. Ridcully »

Oleg-NY писал(а): Ср июл 12, 2017 12:19 pm
M. Ridcully писал(а): Ср июл 12, 2017 11:15 am Ну хрен с ним, пускай используют Paramiko, если им нужно. Но пусть эта библиотека хотя бы ~/.ssh/config понимает!
Ну это как бы врядли! Все-таки OpenSSH и Paramiko из сильно разных бочек. Другое дело какой _реально_ метод SSH аутентификации --ask-pass опция подразумевает. Это может быть и "password", и "keyboard-interactive"... В последнем случае не мудрено, что они переключаются на встроенный клиент.
Ну хорошо, а как с этим бороться-то? Задача - "bootstrap" хоста. Вот как сейчас происходит:
1. Создаю VM;
2. прописываю её имя в ~/.ssh/config;
3. вручную лезу на неё по паролю, добавляю свой ключ в authorized_keys, редактирую /etc/sudoers для беспарольного sudo, устанавливаю Питон;
4. тут уже ansible работает по-человечески.

Задача - автоматизировать пункт 3. По-идее, bash скрипт написать можно, наверное, но чего-то пока не понял, как его так написать, чтобы можно было из него отредактировать sudoers.
Мир Украине. Свободу России.
Аватара пользователя
АццкоМото
Уже с Приветом
Сообщения: 15276
Зарегистрирован: Ср фев 28, 2007 11:18 pm
Откуда: VVO->ORD->DFW->SFO->DFW->PDX

Re: Девопсы есть тут / ansible вопрос?

Сообщение АццкоМото »

В суду же вроде пароль можно параметром передавать (не у компа, не могу проверить)
Мат на форуме запрещен, блдж!
Oleg-NY
Уже с Приветом
Сообщения: 2418
Зарегистрирован: Чт июл 15, 2004 7:32 pm
Откуда: NY, NY

Re: Девопсы есть тут / ansible вопрос?

Сообщение Oleg-NY »

Так вы выяснили почему они переключаются на Paramiko? Если не можете запретить "keyboard-interactive" на сервере, то попробуйте сделать это на клиенте (KbdInteractiveAuthentication в вашем ~/.ssh/config). Может прокатит...
Аватара пользователя
M. Ridcully
Уже с Приветом
Сообщения: 12017
Зарегистрирован: Пт сен 08, 2006 3:07 pm
Откуда: Силиконка

Re: Девопсы есть тут / ansible вопрос?

Сообщение M. Ridcully »

Oleg-NY писал(а): Ср июл 12, 2017 1:40 pm Так вы выяснили почему они переключаются на Paramiko?
Якобы, баг на OSX: https://github.com/ansible/ansible/blob ... xt.py#L632
Oleg-NY писал(а): Ср июл 12, 2017 1:40 pm Если не можете запретить "keyboard-interactive" на сервере, то попробуйте сделать это на клиенте (KbdInteractiveAuthentication в вашем ~/.ssh/config). Может прокатит...
Я вас не понял. Мне как раз по паролю и нужно влезть, так как ключей там никаких ещё нету.
Проблема в том, что Paramiko даже имени их ~/.ssh/config не понимает.
Мир Украине. Свободу России.
Oleg-NY
Уже с Приветом
Сообщения: 2418
Зарегистрирован: Чт июл 15, 2004 7:32 pm
Откуда: NY, NY

Re: Девопсы есть тут / ansible вопрос?

Сообщение Oleg-NY »

Идея была в том, что ansible все же сначала пробует ssh и потом только переключается на Paramiko, но судя по коду вам надо сменить платформу... ))
Самому Paramiko как SSH клиенту глубоко пофиг на ~/.ssh/config скорее всего. Найдите другой способ сообщить ему ваши параметры. Собственно это должен делать сам ansible, раз переключается на другой клиент.
Mr4k
Сообщения: 10
Зарегистрирован: Вс фев 15, 2009 5:42 am

Re: Девопсы есть тут / ansible вопрос?

Сообщение Mr4k »

M. Ridcully писал(а): Ср июл 12, 2017 12:44 pm Ну хорошо, а как с этим бороться-то? Задача - "bootstrap" хоста. Вот как сейчас происходит:
1. Создаю VM;
2. прописываю её имя в ~/.ssh/config;
3. вручную лезу на неё по паролю, добавляю свой ключ в authorized_keys, редактирую /etc/sudoers для беспарольного sudo, устанавливаю Питон;
4. тут уже ansible работает по-человечески.

Задача - автоматизировать пункт 3. По-идее, bash скрипт написать можно, наверное, но чего-то пока не понял, как его так написать, чтобы можно было из него отредактировать sudoers.
А где и как создается VM? Обычно принято на этапе создания делать inject ключей и минимальный bootstrap, необходимый для запуска config management tool.
StrangerR
Уже с Приветом
Сообщения: 38016
Зарегистрирован: Чт дек 14, 2006 2:13 pm
Откуда: USA

Re: Девопсы есть тут / ansible вопрос?

Сообщение StrangerR »

M. Ridcully писал(а): Ср июл 12, 2017 2:58 pm
Oleg-NY писал(а): Ср июл 12, 2017 1:40 pm Так вы выяснили почему они переключаются на Paramiko?
Якобы, баг на OSX: https://github.com/ansible/ansible/blob ... xt.py#L632
Oleg-NY писал(а): Ср июл 12, 2017 1:40 pm Если не можете запретить "keyboard-interactive" на сервере, то попробуйте сделать это на клиенте (KbdInteractiveAuthentication в вашем ~/.ssh/config). Может прокатит...
Я вас не понял. Мне как раз по паролю и нужно влезть, так как ключей там никаких ещё нету.
Проблема в том, что Paramiko даже имени их ~/.ssh/config не понимает.
А кто вам мешает ключ в образ VM-ки добавить? Я могу дать координаты человека который на этом собаку скушал, но я там проблем не заметил, он сразу ансиблем генерит VM-ку и без проблем к ней подцепляется (там вообще человек не учавствует). Другое дело, что мы потом эти имейджи клонируем, так как каждый имейдж с нуля ставить - мазохизм полный *если что, у меня под 2000 VM-ок в зоопарке, всех видов животных вплоть до FreeBSD и Win2000 /а нет, нет ни одной WIn 95 или Win NT, так что зоопарк не полный/
kostik78
Уже с Приветом
Сообщения: 3175
Зарегистрирован: Чт май 17, 2007 9:07 am
Контактная информация:

Re: Девопсы есть тут / ansible вопрос?

Сообщение kostik78 »

M. Ridcully писал(а): Ср июл 12, 2017 2:58 pm Я вас не понял. Мне как раз по паролю и нужно влезть, так как ключей там никаких ещё нету.
Проблема в том, что Paramiko даже имени их ~/.ssh/config не понимает.
Как мы делаем. Есть базовый libvirt image (типа Centos 7 minimal) и стартап скрипт (initd-inject который как раз и положит нужный ключ из secure repository according to network env). И вообщем все, VM создается автоматически с самим же ансиблом с помошью virt-install... а далее запускается playbook которая соотвествует типу сервиса что VM будет обслуживать. Человек в этом процессе участвует только в самом начале когда определяет параметры хоста (имя, ip, vlan и virthost) ... и дает пинка ансиблу и все. Как ансибл закончит, он пришлет нотификацию что VM готова. Дай знать если нужно детальнее поговорить как это можно делать, созвонимся.

ЗЫ. У нас таким же образом Mesos cluster создает VM для OS которые с cgroups не дружат (Windows and FreeBSD)
hey_google
Сообщения: 11
Зарегистрирован: Вт июн 06, 2017 4:35 pm

Re: Девопсы есть тут / ansible вопрос?

Сообщение hey_google »

Добавьте опцию --connection=ssh, и будет вам по идее счастье. А, ну и оно попросит доставить sshpass, т.к. парамико умеет из коробки это, поэтому на него и переключается.
Ответить

Вернуться в «Работа и Карьера в IT»