2015-09-24 55 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 

而且,對於用戶的作品直接sshscp也是如此。所以它不能是公鑰或ssh代理問題。

任何人都知道織物正在發生什麼?

回答

1

的問題是在這條線:

sudo('ls') #asks for password 

面料問你要密碼,遠程主機須藤上執行命令, 所以嘗試改變須藤()來運行()。

如果你仍然想使用sudo但沒有密碼,那麼我建議尋找建立無密碼的sudo,但只能用於特定的命令。