fabric(2.5)使用SSH连接不断请求密码

2024-04-28 17:31:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我已将结构从fabric3==1.14.post1升级到fabric=2.5.0。代码可以与fabric3==1.14.post1配合使用。 现在我在执行其他任务时遇到了问题。 问题是,当我运行task时,task必须在远程服务器中更新并安装软件,该服务器无需密码(使用公钥,不要询问密码!)。 旧版本(1.14.post1):

from fabric.api import task, sudo, env, run

@task
def install_docker():
    sudo('apt-get update && apt-get install -qy docker.io')

@task
def task_queue():
    execute(install_docker)
    execute(install_some_soft)

我如何运行它:fab task_queue

新版本(2.5.0)

@task
def install_docker(ctx):
    ctx.sudo('apt-get update && apt-get install -qy docker.io')

@task(pre=[install_docker])
def task_queue(ctx):
    pass

我如何运行它:fab task-queue 我把错误分类如下:

invoke.exceptions.AuthFailure: The password submitted to prompt '[sudo] password: ' was rejected.


Tags: installdocker服务器密码taskgetqueuedef