Девопсы есть тут / ansible вопрос?
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Девопсы есть тут / ansible вопрос?
По какой-то странной причине, ansible переходит на нечто, под названием Paramiko при использовании password authentication.
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 15340
- Joined: 30 Apr 2003 16:43
Re: Девопсы есть тут / ansible вопрос?
Да тут все просто: не надо пепелацу без гравицапы из гаража выкатывать.M. Ridcully wrote: ↑12 Jul 2017 00:27 По какой-то странной причине, ansible переходит на нечто, под названием Paramiko при использовании password authentication.
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
-
- Уже с Приветом
- Posts: 2415
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Девопсы есть тут / ansible вопрос?
Сомневаюсь, что чисто питоновский ssh клент понимает OpenSSH-вский конфиг. Хотя все возможно. Я не в курсе деталей имплементации Paramiko.
-
- Уже с Приветом
- Posts: 3175
- Joined: 17 May 2007 14:07
Re: Девопсы есть тут / ansible вопрос?
Тока что проверил ansible 2.2.1.0 использует ssh не Paramiko. Paramiko был дефолтовым в самом начале жизни Ansible. Сейчас по умолчанию используется ssh (Linux and Mac OS X). Про винду не знаю.M. Ridcully wrote: ↑12 Jul 2017 00:27 По какой-то странной причине, ansible переходит на нечто, под названием Paramiko при использовании password authentication.
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Девопсы есть тут / ansible вопрос?
Речь о случае, когда использую --ask-pass опцию. У меня молчаливо (!) переходит на Paramiko. Пришлось, блин, в исходники лезть, чтобы понять, почему одна и та же команда работает работает с использованием ключей, но не находит хост, если добавляешь -k / --ask-pass.kostik78 wrote: ↑12 Jul 2017 15:43Тока что проверил ansible 2.2.1.0 использует ssh не Paramiko. Paramiko был дефолтовым в самом начале жизни Ansible. Сейчас по умолчанию используется ssh (Linux and Mac OS X). Про винду не знаю.M. Ridcully wrote: ↑12 Jul 2017 00:27 По какой-то странной причине, ansible переходит на нечто, под названием Paramiko при использовании password authentication.
Вопрос - как научить Paramiko подцеплять ~/.ssh/config???
Ну хрен с ним, пускай используют Paramiko, если им нужно. Но пусть эта библиотека хотя бы ~/.ssh/config понимает!
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 2415
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Девопсы есть тут / ansible вопрос?
Ну это как бы врядли! Все-таки OpenSSH и Paramiko из сильно разных бочек. Другое дело какой _реально_ метод SSH аутентификации --ask-pass опция подразумевает. Это может быть и "password", и "keyboard-interactive"... В последнем случае не мудрено, что они переключаются на встроенный клиент.M. Ridcully wrote: ↑12 Jul 2017 16:15 Ну хрен с ним, пускай используют Paramiko, если им нужно. Но пусть эта библиотека хотя бы ~/.ssh/config понимает!
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Девопсы есть тут / ansible вопрос?
Ну хорошо, а как с этим бороться-то? Задача - "bootstrap" хоста. Вот как сейчас происходит:Oleg-NY wrote: ↑12 Jul 2017 17:19Ну это как бы врядли! Все-таки OpenSSH и Paramiko из сильно разных бочек. Другое дело какой _реально_ метод SSH аутентификации --ask-pass опция подразумевает. Это может быть и "password", и "keyboard-interactive"... В последнем случае не мудрено, что они переключаются на встроенный клиент.M. Ridcully wrote: ↑12 Jul 2017 16:15 Ну хрен с ним, пускай используют Paramiko, если им нужно. Но пусть эта библиотека хотя бы ~/.ssh/config понимает!
1. Создаю VM;
2. прописываю её имя в ~/.ssh/config;
3. вручную лезу на неё по паролю, добавляю свой ключ в authorized_keys, редактирую /etc/sudoers для беспарольного sudo, устанавливаю Питон;
4. тут уже ansible работает по-человечески.
Задача - автоматизировать пункт 3. По-идее, bash скрипт написать можно, наверное, но чего-то пока не понял, как его так написать, чтобы можно было из него отредактировать sudoers.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Девопсы есть тут / ansible вопрос?
В суду же вроде пароль можно параметром передавать (не у компа, не могу проверить)
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 2415
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Девопсы есть тут / ansible вопрос?
Так вы выяснили почему они переключаются на Paramiko? Если не можете запретить "keyboard-interactive" на сервере, то попробуйте сделать это на клиенте (KbdInteractiveAuthentication в вашем ~/.ssh/config). Может прокатит...
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Девопсы есть тут / ansible вопрос?
Якобы, баг на OSX: https://github.com/ansible/ansible/blob ... xt.py#L632
Я вас не понял. Мне как раз по паролю и нужно влезть, так как ключей там никаких ещё нету.
Проблема в том, что Paramiko даже имени их ~/.ssh/config не понимает.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 2415
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Девопсы есть тут / ansible вопрос?
Идея была в том, что ansible все же сначала пробует ssh и потом только переключается на Paramiko, но судя по коду вам надо сменить платформу... ))
Самому Paramiko как SSH клиенту глубоко пофиг на ~/.ssh/config скорее всего. Найдите другой способ сообщить ему ваши параметры. Собственно это должен делать сам ansible, раз переключается на другой клиент.
Самому Paramiko как SSH клиенту глубоко пофиг на ~/.ssh/config скорее всего. Найдите другой способ сообщить ему ваши параметры. Собственно это должен делать сам ansible, раз переключается на другой клиент.
-
- Posts: 10
- Joined: 15 Feb 2009 11:42
Re: Девопсы есть тут / ansible вопрос?
А где и как создается VM? Обычно принято на этапе создания делать inject ключей и минимальный bootstrap, необходимый для запуска config management tool.M. Ridcully wrote: ↑12 Jul 2017 17:44 Ну хорошо, а как с этим бороться-то? Задача - "bootstrap" хоста. Вот как сейчас происходит:
1. Создаю VM;
2. прописываю её имя в ~/.ssh/config;
3. вручную лезу на неё по паролю, добавляю свой ключ в authorized_keys, редактирую /etc/sudoers для беспарольного sudo, устанавливаю Питон;
4. тут уже ansible работает по-человечески.
Задача - автоматизировать пункт 3. По-идее, bash скрипт написать можно, наверное, но чего-то пока не понял, как его так написать, чтобы можно было из него отредактировать sudoers.
-
- Уже с Приветом
- Posts: 38016
- Joined: 14 Dec 2006 20:13
- Location: USA
Re: Девопсы есть тут / ansible вопрос?
А кто вам мешает ключ в образ VM-ки добавить? Я могу дать координаты человека который на этом собаку скушал, но я там проблем не заметил, он сразу ансиблем генерит VM-ку и без проблем к ней подцепляется (там вообще человек не учавствует). Другое дело, что мы потом эти имейджи клонируем, так как каждый имейдж с нуля ставить - мазохизм полный *если что, у меня под 2000 VM-ок в зоопарке, всех видов животных вплоть до FreeBSD и Win2000 /а нет, нет ни одной WIn 95 или Win NT, так что зоопарк не полный/M. Ridcully wrote: ↑12 Jul 2017 19:58Якобы, баг на OSX: https://github.com/ansible/ansible/blob ... xt.py#L632
Я вас не понял. Мне как раз по паролю и нужно влезть, так как ключей там никаких ещё нету.
Проблема в том, что Paramiko даже имени их ~/.ssh/config не понимает.
-
- Уже с Приветом
- Posts: 3175
- Joined: 17 May 2007 14:07
Re: Девопсы есть тут / ansible вопрос?
Как мы делаем. Есть базовый libvirt image (типа Centos 7 minimal) и стартап скрипт (initd-inject который как раз и положит нужный ключ из secure repository according to network env). И вообщем все, VM создается автоматически с самим же ансиблом с помошью virt-install... а далее запускается playbook которая соотвествует типу сервиса что VM будет обслуживать. Человек в этом процессе участвует только в самом начале когда определяет параметры хоста (имя, ip, vlan и virthost) ... и дает пинка ансиблу и все. Как ансибл закончит, он пришлет нотификацию что VM готова. Дай знать если нужно детальнее поговорить как это можно делать, созвонимся.M. Ridcully wrote: ↑12 Jul 2017 19:58 Я вас не понял. Мне как раз по паролю и нужно влезть, так как ключей там никаких ещё нету.
Проблема в том, что Paramiko даже имени их ~/.ssh/config не понимает.
ЗЫ. У нас таким же образом Mesos cluster создает VM для OS которые с cgroups не дружат (Windows and FreeBSD)
-
- Posts: 11
- Joined: 06 Jun 2017 21:35
Re: Девопсы есть тут / ansible вопрос?
Добавьте опцию --connection=ssh, и будет вам по идее счастье. А, ну и оно попросит доставить sshpass, т.к. парамико умеет из коробки это, поэтому на него и переключается.
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Девопсы есть тут / ansible вопрос?
Что такое libvirt image? Или это просто iso файл дистрибутива?
Вообще почитал, вроде как раз то, что мне нужно. Спасибо за подсказку про initrd-inject! А то я тоже пришёл к выводу, что ключ лучше в момент установки сразу распространять, но думал, что придётся кастомные iso создавать.
А для virt-install в ansible какой-то свой модуль есть, или модуль command используете?
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 19924
- Joined: 30 Aug 2000 09:01
- Location: WA
Re: Девопсы есть тут / ansible вопрос?
Простите, я всегда спрашиваю, но никто толком и не ответил.
А кто такие эти девопсы?
Спасибо.
А кто такие эти девопсы?
Спасибо.
-
- Уже с Приветом
- Posts: 315
- Joined: 24 May 2013 22:04
Re: Девопсы есть тут / ansible вопрос?
Сисадмины-хипсторы.
-
- Уже с Приветом
- Posts: 3175
- Joined: 17 May 2007 14:07
Re: Девопсы есть тут / ansible вопрос?
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Девопсы есть тут / ansible вопрос?
Отпишусь, вдруг кому пригодится, как проблему решил.kostik78 wrote: ↑15 Jul 2017 04:13Как мы делаем. Есть базовый libvirt image (типа Centos 7 minimal) и стартап скрипт (initd-inject который как раз и положит нужный ключ из secure repository according to network env). И вообщем все, VM создается автоматически с самим же ансиблом с помошью virt-install... а далее запускается playbook которая соотвествует типу сервиса что VM будет обслуживать. Человек в этом процессе участвует только в самом начале когда определяет параметры хоста (имя, ip, vlan и virthost) ... и дает пинка ансиблу и все. Как ансибл закончит, он пришлет нотификацию что VM готова. Дай знать если нужно детальнее поговорить как это можно делать, созвонимся.M. Ridcully wrote: ↑12 Jul 2017 19:58 Я вас не понял. Мне как раз по паролю и нужно влезть, так как ключей там никаких ещё нету.
Проблема в том, что Paramiko даже имени их ~/.ssh/config не понимает.
ЗЫ. У нас таким же образом Mesos cluster создает VM для OS которые с cgroups не дружат (Windows and FreeBSD)
Оказалось, есть нечто, под названием cloud-init. Оно присутствует на официальных images Убунты, в названии чего-то-там-cloud.
Берётся это самый vanilla image, запускается через virt-install с опцией --import, и ему скармливается ISO с кастомизацией вроде SSH keys, hostname, etc.
Всё. Остальную автоматизацию можно уже непосредственно в VMке делать на башевских скриптах. Никаких Ансиблов, Питонов и т.д.
Мир Украине. Свободу России.