Utilicé la imagen Vagrant para 13.04 de http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box para crear una nueva máquina virtual e intenté conectarme a usando ssh Sin embargo, el SSH siempre se desconectaba de inmediato, sin siquiera llegar a la etapa donde intentaba autenticarse.
Abrí la VM en la GUI de VirtualBox y miré el archivo de registro SSH (auth.log). Estaba lleno de líneas como esta:
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: fatal: No supported key exchange algorithms [preauth]
El problema se resolvió ejecutando los siguientes comandos:
sudo ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
Supongo que estos deberían ejecutarse automáticamente en algún momento, especialmente dado que (a) no tuve que ejecutarlos yo mismo cuando instalé Ubuntu desde una imagen ISO, y (b) porque se supone que Vagrant está diseñado para que después de ejecutarlo vagrant up
puede usar inmediatamente la VM sin ninguna configuración adicional.
Es posible que necesite crear una gran cantidad de máquinas virtuales en el futuro cercano y esperaba poder usar Vagrant para hacerlo, pero no puedo hacerlo si voy a tener que arreglar manualmente SSH en cada una.
¿Alguien sabe por qué sucede esto y qué se puede hacer para solucionarlo? ¿Debo informarlo como un error?
vagrant
en tu host? ¿Qué hay de activar la depuración vagabunda y ver qué pasa?vagrant ssh
utiliza el par de claves inseguro del vagabundo para la autenticación de clave de pub.test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
o usarssh-keygen
para generar las claves.test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
en el/etc/rc.local
script.Respuestas:
Este es un problema de clave de host SSH (NO relacionado con la autenticación de clave pública).
Parece que el problema fue que la imagen vagabunda de la nube de ubuntu no pudo generar las nuevas claves de host (si no están allí
/etc/ssh/
) durante el primer arranque (vagrant up
).Además de generar manualmente las claves de host SSH mencionadas por Moshe
También se puede hacer agregando el siguiente comando en el
/etc/rc.local
test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
Espero eso ayude.
fuente
Workaroud:
Importe el dispositivo ~ / .vagrant.d / boxes / raring / box.ovf en VirtualBox
Obtener nombre de máquina virtual
Inicie la VM
Incluya la siguiente línea en /etc/rc.local (¡Por supuesto en la propia máquina virtual!):
Apagar VM
Eliminar imágenes antiguas
Exportar VM en formato .ovf
Hecho :)
También hice un informe de error: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950
fuente
Esto parece haber sido un error en los cuadros base más antiguos. En las imágenes del cuadro base actual (generadas el 20 de agosto de 2013), las claves parecen crearse automáticamente cuando el cuadro se inicia por primera vez.
fuente