Pregunta

Estoy utilizando Tela para ejecutar el siguiente:

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()

Pero me sale esto:

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

¿Por qué se Tela pidiendo mi contraseña? Este es el usuario root Ubuntu por defecto que no tiene ninguna contraseña en los archivos sudoers. ¿Qué está pasando aquí?

¿Fue útil?

Solución

meta: Sólo se dio cuenta de esta cuestión es todavía sin respuesta. No tengo idea de lo que realmente sucedió allí, pero esto es una conjetura.

Esto fue probablemente causado al no utilizar un archivo de claves cuando se conecta a una máquina en la conexión de contraseña en texto plano SSH fue desactivada.

El uso correcto sería:

fab -i keyfile.pem <fabric_task>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top