【问题标题】:Paramiko works but Fabric fails (asking for password)Paramiko 工作但 Fabric 失败(要求输入密码)
【发布时间】:2017-08-08 17:37:26
【问题描述】:

我四处搜索,我真的无法得到答案,但由于某种原因,fabric 不断要求输入密码,但 paramkio 没有

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代理的问题。

有人知道 Fabric 是怎么回事吗?

【问题讨论】:

    标签: fabric paramiko


    【解决方案1】:

    问题出在这一行:

      sudo('ls') #asks for password
    

    Fabric 要求您输入密码以在远程主机上以 sudo 执行命令, 所以尝试将 sudo() 更改为 run()。

    如果你仍然想使用sudo但没有密码,那么我建议搜索settung up passwordless sudo,但仍然只针对特定命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      相关资源
      最近更新 更多