Форум сайта python.su
0
Есть необходимость раскидать профиль по множеству серверов, думаю сделать это так
pipe = os.popen('scp ~/.bashrc username@webxx:~/'), но соответственно при подключении впервые к ферме или после рехеша ключей выводится предложение получить ключ от сервера, а потом соответственно надо ввести пароль, пробовал модуль paramiko но AutoAddPolicy() там не срабатывает и как реализовать ввод пароля ? Или вообще отказаться от такой идеи и попробовать распространить через ftp ?
Офлайн
0
Советую использовать модуль subprocess, это замена устаревшему os.popen(), и с его помощью можно легко отправить процессу команды, сымитировав ввод пользователя.
Офлайн
13
pexpect для этого существует.
Читать тут: http://linux.byexamples.com/archives/346/python-how-to-access-ssh-with-pexpect/
Офлайн
0
Парамико заработал, с этим все ок, но когда пытаюсь выполнять команды, будь-то субпроцесс или ос, питон почему то пытается вызвать sh интерпретатор, соответственно везде стоит баш и вылетает с ошибкой /bin/sh: fetch command not found
Офлайн
0
спасибо всем за помощь, решилось функцией встроенной в парамико .exec_command()
Офлайн