2012-05-01 2 views
1

Я пытаюсь написать функцию ткани, которая ставит скрипт на удаленном хосте и запускает его как root. У меня нет пароля root для входа в систему, и я не sudoer, но у меня есть корень в kerberos. Как правило, я могу подключиться к машине, как корень со следующим:Проверка подлинности на ткани с помощью kerberos

kinit username/root 
(enter root principle pass) 

ssh [email protected] 

Подключение таким образом, я не запрошен пароль при ssh'ing хосту.

Поэтому я хочу подражать этому процессу с использованием ткани. Для этого я принял следующее,

Kinit пользователя/корень

ФАБ task1 task2 --user = корень

К сожалению ткань подсказывает мне пароль, в то время как я не имею пароль root, я не могу это предоставить. Насколько я могу судить, Fabric не позволит мне передать null для пароля. Есть идеи?

ответ

3

Похоже, что ткань не поддерживает аутентификацию Kerberos. Если я правильно помню, что библиотека paramiko не поддерживает его, и Fabric использует paramiko (не уверен), поэтому он не имеет соответствующей поддержки.

Вы должны пойти и спросить здесь: http://docs.fabfile.org/en/1.4.1/index.html#getting-help

Может быть использование IRC канал таким образом, чтобы получить быстрый ответ.

С уважением,

+2

В случае, если вы используете последние Fabric, он перешел от paramiko к библиотеке ssh python [здесь (python ssh, link проекта)] (https://github.com/bitprophet/ssh) Но, к сожалению, это также пропускает поддержку kerberos. – useratuniv

+0

В порядке, я нашел некоторые детали в fabric/network.py , похоже, это может быть невыполнимо с учетом ограничений базовых библиотек. Спасибо за информацию, я попаду на канал IRC – siesta

0

Существует запрос открытым тянуть за поддержку Kerberos в ткани, и это выглядит, как он работает и почти готов быть объединены:

https://github.com/fabric/fabric/pull/1261

Смежные вопросы