J'ai utilisé l'image Vagrant pour 13.04 à partir de http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box pour créer une nouvelle machine virtuelle et essayé de me connecter à en utilisant ssh. Cependant, le SSH s'est toujours déconnecté immédiatement, sans même atteindre le stade où il a tenté de s'authentifier.
J'ai ouvert la machine virtuelle dans l'interface graphique de VirtualBox et j'ai regardé le fichier journal SSH (auth.log). Il était plein de lignes comme celle-ci:
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]
Le problème a été résolu en exécutant les commandes suivantes:
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
Je suppose que ceux-ci devraient s'exécuter automatiquement à un moment donné, d'autant plus que (a) je n'ai pas eu à les exécuter moi-même lorsque j'ai installé Ubuntu à partir d'une image ISO, et (b) parce que Vagrant est censé être conçu après avoir exécuté vagrant upvous pouvez immédiatement utiliser la machine virtuelle sans configuration supplémentaire.
Je devrai peut-être créer un grand nombre de machines virtuelles dans un proche avenir et j'espérais pouvoir utiliser Vagrant pour le faire, mais je ne peux pas le faire si je dois réparer manuellement SSH sur chacune d'elles.
Quelqu'un sait-il pourquoi cela se produit et que peut-on faire pour y remédier? Dois-je le signaler comme un bug?
test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverou utiliser le ssh-keygenpour générer les clés.
                test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serveren avoir dans le /etc/rc.localscript.
                
vagrantsur votre hôte? Que diriez-vous d'activer le débogage vagabond et de voir ce qui se passe?vagrant sshutilise la paire de clés non sécurisée de vagrant pour l'authentification par clé de pub.