Python Fabric和Amazon EC2:Sudo密码问

Tom*_*Tom 5 python amazon-ec2 fabric

您知道在EC2上,没有与"ubuntu"用户关联的密码.如果我尝试运行以下几行:

fab development install_dir

我明白了:

[ec2-46-51-132-252.eu-west-1.compute.amazonaws.com] sudo:chown -R webadmin:webadmin/var/www [ec2-46-51-132-252.eu- west- 1.compute.amazonaws.com]登录密码:

我试图将shell = False添加到sudo方法(根据我可以阻止fabric提示我输入sudo密码吗?),但它没有改变任何东西

任何的想法 ?非常感谢 !

def development():
    env.envname = 'development'
    env.user = 'ubuntu'
    env.group = 'ubuntu'
    env.chuser = 'webadmin'
    env.chgroup = 'webadmin'
    env.hosts = ['ec2-***.eu-west-1.compute.amazonaws.com']
    env.envname_abriev = 'dev'
    env.key_filename = '/home/xx/.ssh/xx.pem'

    env.postgresql_version = '9.0'

def install_dir():
    if not exists('/var/www'):
        sudo('mkdir /var/www')
    sudo('chown -R %s:%s /var/www' % (env.chuser, env.chgroup))
Run Code Online (Sandbox Code Playgroud)

小智 1

您需要在运行 fab 命令时指定与您的 EC2 实例关联的密钥对文件名。

用法:fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ...

选项:

-R ROLES, --roles=ROLES
                    comma-separated list of roles to operate on

-i KEY_FILENAME       path to SSH private key file. May be repeated.
Run Code Online (Sandbox Code Playgroud)