vagrant login como root por defecto


Problema: con frecuencia el primer comando que escribo en mis casillas es su -.

Pregunta: ¿cómo hago que vagrant ssh use el usuario root por defecto?

Versión: vagrant 1.6.5

Author: Mike D, 2014-09-10

8 answers

Solución:
Añade lo siguiente a tu Vagrantfile:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

Cuando vagrant ssh de ahora en adelante, se conectará como root y debe esperar lo siguiente:

==> mybox: Waiting for machine to boot. This may take a few minutes...
    mybox: SSH address: 127.0.0.1:2222
    mybox: SSH username: root
    mybox: SSH auth method: password
    mybox: Warning: Connection timeout. Retrying...
    mybox: Warning: Remote connection disconnect. Retrying...
==> mybox: Inserting Vagrant public key within guest...
==> mybox: Key inserted! Disconnecting and reconnecting using new SSH key...
==> mybox: Machine booted and ready!

Actualización 23-Jun-2015: Esto también funciona para la versión 1.7.2. La seguridad de la clave ha mejorado desde la versión 1.7.0; esta técnica anula el método anterior que utiliza una clave privada conocida. Esta solución no está destinada a ser utilizada para una caja que es accesible públicamente sin las medidas de seguridad adecuadas antes de la publicación.

Referencia:

 95
Author: Mike D,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-24 00:28:17

Esto es útil:

sudo passwd root

...para cualquiera que haya sido atrapado por la necesidad de establecer una contraseña de root en vagrant first

 94
Author: Ed Williams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-31 06:44:10

Esto funciona si estás en ubuntu / trusty64 box:

vagrant ssh

Una vez que esté en la caja de ubuntu:

sudo su

Ahora eres usuario root. Puede actualizar la contraseña de root como se muestra a continuación:

sudo -i
passwd

Ahora edita la siguiente línea en el archivo /etc/ssh/sshd_config

PermitRootLogin yes

Además, es conveniente crear su propio nombre de usuario alternativo:

adduser johndoe

Espere hasta que solicite la contraseña.

 23
Author: Thyag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-01 03:51:33

Si Vagrantfile como se indica a continuación:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

Pero vagrant todavía te pregunta la contraseña de root, lo más probable es que el cuadro base que utilizó no esté configurado para permitir el inicio de sesión de root.


Por ejemplo, la casilla oficial ubuntu14.04 no establece PermitRootLogin yes en /etc/ssh/sshd_config.

Así que Si quieres un cuadro puede iniciar sesión como root por defecto (solo Vagrantfile, no más trabajo), tienes que :

  1. Configurar una vm por username vagrant (cualquier nombre pero root)

  2. Inicie sesión y edite la configuración de sshd file.

    Ubuntu: editar /etc/ssh/sshd_config, establecer PermitRootLogin yes

    Orthers:....

    (Solo uso ubuntu, no dude en agregar solución de otras plataformas)

  3. Construir una nueva caja base:

    vagrant package --base your-vm-name
    

    Esto crea un archivo package.box

  4. Añadir esa caja base a vagrant:

    vagrant box add ubuntu-root file:///somepath/package.box
    

    Luego, necesita usar este cuadro base para construir vm que permitan el inicio de sesión automático como root.

  5. Destruir vm original por vagrant destroy

  6. Editar original Vagrantfile, cambia el nombre de la caja a ubuntu-root y el nombre de usuario a root, luego vagrant up crea uno nuevo.

Me costó algo de tiempo averiguarlo , es demasiado complicado en mi opinión. Hope vagrant mejoraría esto.

 7
Author: Mithril,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-05 03:43:33

¡No olvides que root tiene permitido iniciar sesión antes!!!

Coloque el código de configuración a continuación en el archivo /etc/ssh/sshd_config.

PermitRootLogin yes
 6
Author: Andrew Coding,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-30 08:43:58

Sé que esta es una vieja pregunta...pero mirando la pregunta original, parece que el usuario solo quería ejecutar un comando como root..eso es lo que necesito hacer cuando estaba buscando una respuesta y me topé con esta pregunta.

Así que este vale la pena saber en mi opinión:

Vagrant ssh servername-c "echo vagrant / sudo-S shutdown 0"

"vagrant" es la contraseña que se repite en el comando sudo, porque como todos sabemos, la cuenta vagrant tiene sudo privilegios y cuando sudo, es necesario especificar la contraseña de la cuenta de usuario, no root..y, por supuesto, por defecto, la contraseña del usuario vagrant es "vagrant" !

De forma predeterminada, necesita privilegios de root para apagar, así que supongo que hacer un apagado es una buena prueba.

Obviamente no necesita especificar un nombre de servidor si solo hay uno para ese entorno vagrant. Además, estamos hablando de la máquina virutal vagabunda local al host, por lo que realmente no hay ningún problema de seguridad que yo puedo ver.

Espero que esto ayude.

 0
Author: Chris Barnett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-26 19:23:34

Agregar esto al Vagrantfile funcionó para mí. Estas líneas son el equivalente de que usted ingrese "sudo su -" cada vez que inicie sesión. Tenga en cuenta que esto requiere reprogramar la VM.

config.vm.provision "shell", inline: <<-SHELL echo "sudo su -" >> .bashrc SHELL

 0
Author: fpereiro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-10 11:52:25
vagrant destroy
vagrant up

Por favor, agregue esto al archivo vagrant:

config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'
 -6
Author: eric more,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-12 17:18:50