login - usuarios - inicio de sesión vagabundo como root por defecto
sudo terminal mac (9)
¡No olvides que root tiene permiso para iniciar sesión antes!
Coloque el código de configuración a continuación en el
/etc/ssh/sshd_config
.
PermitRootLogin yes
Problema: con frecuencia el primer comando que escribo en mis cuadros es
su -
.
Pregunta: ¿cómo hago para que
vagrant ssh
use el usuario root de forma predeterminada?
Versión: vagabundo 1.6.5
Agregar esto al
Vagrantfile
funcionó para mí.
Estas líneas son el equivalente a que ingreses
sudo su -
cada vez que inicias sesión.
Tenga en cuenta que esto requiere volver a aprovisionar la VM.
config.vm.provision "shell", inline: <<-SHELL
echo "sudo su -" >> .bashrc
SHELL
Esto es útil:
sudo passwd root
para cualquier persona que haya sido atrapada por la necesidad de establecer primero una contraseña de root en vagabundo
Esto funciona si estás en ubuntu / trusty64 box:
vagrant ssh
Una vez que esté en el cuadro 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 edite 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.
Sé que esta es una pregunta antigua, pero al mirar 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 la pregunta.
Así que vale la pena conocer este 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 vagabunda tiene privilegios de sudo y cuando sudo, debe especificar la contraseña de la cuenta de usuario, no la raíz ... y, por supuesto, de forma predeterminada, la contraseña del usuario
vagrant
es
vagrant
!
Por defecto, 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 vagabundo. Además, estamos hablando de una máquina virtual vagabunda local para el host, por lo que realmente no hay ningún problema de seguridad que pueda ver.
Espero que esto ayude.
Si
Vagrantfile
es el siguiente:
config.ssh.username = ''root''
config.ssh.password = ''vagrant''
config.ssh.insert_key = ''true''
Pero vagabundo aún le pide 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, el cuadro oficial ubuntu14.04 no establece
PermitRootLogin yes
en
/etc/ssh/sshd_config
.
Entonces, si desea que un cuadro pueda iniciar sesión como raíz predeterminada (solo Vagrantfile, no más trabajo), debe:
-
Configurar un vm por nombre de usuario
vagrant
(cualquier nombre menos root) -
Inicie sesión y edite el archivo de configuración sshd.
ubuntu: edit
/etc/ssh/sshd_config
, establezcaPermitRootLogin yes
otros: ....
(Solo uso ubuntu, siéntase libre de agregar soluciones a otras plataformas)
-
Construye una nueva caja base:
vagrant package --base your-vm-name
esto crea un archivo
package.box
-
Agregue esa caja base a vagabundo:
vagrant box add ubuntu-root file:///somepath/package.box
entonces, necesita usar este cuadro base para compilar vm que permita el inicio de sesión automático como root.
-
Destruye vm original por
vagrant destroy
-
Edite el
Vagrantfile
original, cambie el nombre del cuadro aubuntu-root
y el nombre de usuario aroot
, luego cree uno nuevo.
Me costó un tiempo averiguarlo, es demasiado complicado en mi opinión. Espero vagabundo mejoraría esto.
Tuve algunos problemas con el aprovisionamiento al intentar iniciar sesión como root, incluso con
PermitRootLogin yes
.
Lo hice para que solo se vea afectado el comando
vagrant ssh
:
# Login as root when doing vagrant ssh
if ARGV[0]==''ssh''
config.ssh.username = ''root''
end
Solución:
Agregue lo siguiente a su
Vagrantfile
:
config.ssh.username = ''root''
config.ssh.password = ''vagrant''
config.ssh.insert_key = ''true''
Cuando
vagrant ssh
adelante, iniciará sesión como
root
y debería 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 claves ha mejorado desde 1.7.0; Esta técnica reemplaza al método anterior que utiliza una clave privada conocida. Esta solución no está destinada a ser utilizada para un cuadro que sea accesible públicamente sin las medidas de seguridad adecuadas realizadas antes de la publicación.
Referencia:
vagrant destroy
vagrant up
Agregue esto al archivo vagabundo:
config.ssh.username = ''vagrant''
config.ssh.password = ''vagrant''
config.ssh.insert_key = ''true''