6

私はFabricを使用して以下を実行しています:

def staging():
    """ use staging environment on remote host"""
    env.user = 'ubuntu'
    env.environment = 'staging'
    env.hosts = ['host.dev']
    _setup_path()

def bootstrap():
    """ initialize remote host environment (virtualenv, deploy, update) """
    require('root', provided_by=('staging', 'production'))
    run('mkdir -p %(root)s' % env)
    run('mkdir -p %s' % os.path.join(env.home, 'www', 'log'))
    create_virtualenv()
    deploy()
    update_requirements()

しかし、私はこれを取得します:

ubuntu@host.dev:~/projects/proj_name$ fab staging bootstrap
[host.dev] run: mkdir -p /home/ubuntu/www/staging
Password for ubuntu@host.dev: 

Fabricがパスワードを要求するのはなぜですか?これは、sudoersファイルにパスワードがないデフォルトのubunturootユーザーです。何が起きてる?

4

1 に答える 1

6

メタ:この質問にはまだ答えがないことに気づきました。そこで実際に何が起こったのかわかりませんが、ここに推測があります。

これは、プレーンテキストのパスワードSSH接続が無効になっているマシンに接続するときにキーファイルを使用できなかったことが原因である可能性があります。

適切な使用法は次のとおりです。

fab -i keyfile.pem <fabric_task>
于 2011-10-18T10:24:17.753 に答える