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 up
vous 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-server
ou utiliser le ssh-keygen
pour générer les clés.
test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
en avoir dans le /etc/rc.local
script.
vagrant
sur votre hôte? Que diriez-vous d'activer le débogage vagabond et de voir ce qui se passe?vagrant ssh
utilise la paire de clés non sécurisée de vagrant pour l'authentification par clé de pub.