Tengo un nuevo usuario en mi caja vagabunda (trusty64) y estoy intentando acceder a él. En lugar de iniciar sesión como vagrant
usuario después vagrant up
, quiero iniciar sesión con mi nombre de usuario.
Lo que he hecho hasta ahora
- Creé un usuario en mi máquina invitada.
- Creé la clave ssh en mi host usando
ssh-keygen
- Copié la clave ssh al invitado usando
ssh-copy-id -p 2222 -i [email protected]
y la parte del Vagrantfile se ve así
config.vm.box = "ubuntu/trusty64"
config.ssh.username = "shash"
config.ssh.forward_agent = true
config.ssh.private_key_path = "~/.ssh/authorized_keys"
Puedo usar para iniciar sesión directamente pero cuando doy sigo recibiendo el siguiente errorssh -p '2222' '[email protected]'
vagrant up
default: Warning: Connection timeout. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
Cualquier ayuda para solucionar este problema es realmente apreciada. ¡Gracias!
Respuesta1
config.ssh.private_key_path
debe apuntar a su archivo de clave privada (generalmente ~/.ssh/id_rsa
, el nombre del archivo se muestra cuando ejecuta ssh-keygen
),no ~/.ssh/authorized_keys
.
Respuesta2
Una forma alternativa de lograr esto es agregar lo siguiente al final de ~vagrant/.bashrc
:
ssh chsc
exit
Si desea evitar la molestia de crear e instalar una clave SSH, puede usarla su
en su lugar; sin embargo, esto no permite ssh
que dentro de Vagrant Box use su agente de reenvío SSH si necesita conectarse a servidores externos desde dentro de la caja:
sudo su chsc
exit
Al realizar tales cambios, ~vagrant/.bashrc
corre el riesgo de quedar fuera del shell si comete un error. Recomiendo mantener una terminal abierta iniciada como vagrant
, hasta que se haya asegurado de que todo funciona. Si algo sale mal, simplemente cambie el nombre de .bashrc ( mv .bashrc .bashrc-bak
).