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?
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.test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
ou utiliser lessh-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.Réponses:
Il s'agit d'un problème de clé d'hôte SSH (NON lié à l'authentification par clé publique).
Il semble que le problème était que l'image vagabonde du cloud ubuntu n'a pas pu générer les nouvelles clés d'hôte (si elles ne s'y trouvent pas
/etc/ssh/
) lors du premier démarrage (vagrant up
).En plus de générer manuellement les clés d'hôte SSH mentionnées par Moshe
Cela peut également être fait en ajoutant la commande suivante dans le
/etc/rc.local
test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
J'espère que cela aide.
la source
Workaroud:
Importez l'appliance ~ / .vagrant.d / boxes / raring / box.ovf dans VirtualBox
Obtenir le nom de la machine virtuelle
Démarrez la VM
Incluez la ligne suivante dans /etc/rc.local (bien sûr dans la VM elle-même!):
Arrêter la machine virtuelle
Supprimer les anciennes images
Exporter la VM au format .ovf
Terminé :)
A également fait un rapport de bogue: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950
la source
Cela semble avoir été un bug dans les anciennes boîtes de base. Dans les images actuelles de la boîte de base (générées le 20 août 2013), les clés semblent être créées automatiquement lorsque la boîte démarre pour la première fois.
la source