2015-09-24 3 views
0

Я искал вокруг, и я действительно не мог получить ответ на это, но по какой-то причине, ткань сохраняет запрашивая пароль, но paramkio неParamiko работает, но ткань не удается (запрашивая пароль)

import paramiko 

mykey = paramiko.RSAKey.from_private_key_file('/path/to/key')  

client = paramiko.SSHClient() 
client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 

client.connect('<ip>', username='me', pkey=mykey) 
(stdin, stdout, stderr) = client.exec_command('ls /home') #works 
for line in stdout.readlines(): 
    print line 

client.close() 

Но ткань не

from fabric.api import sudo 

env.user = 'me' 
env.hosts = 'ip' 
env.key_filename = '/path/to/key' 

def run(): 
    sudo('ls') #asks for password 

Также, прямой ssh для этого пользователя. Точно так же scp. Таким образом, это не может быть проблемой открытого ключа или ssh.

Кто-нибудь знает, что происходит с Ткань?

ответ

1

Проблема заключается в этой строке:

sudo('ls') #asks for password 

Ткань просит вас ввести пароль, чтобы выполнить команду на удаленном хосте Суды, поэтому попробуйте изменить Sudo() для запуска().

Если вы по-прежнему хотите использовать sudo, но без пароля, то я предлагаю искать настройку без пароля sudo, но все же только для определенных команд.