Ich habe das Vagrant-Image für 13.04 von http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box verwendet , um eine neue virtuelle Maschine zu erstellen, und habe versucht, eine Verbindung herzustellen es mit ssh. Der SSH wurde jedoch immer sofort getrennt, ohne das Stadium zu erreichen, in dem er versuchte, sich zu authentifizieren.
Ich habe die VM in der VirtualBox-GUI geöffnet und mir die SSH-Protokolldatei (auth.log) angesehen. Es war voller Zeilen wie diese:
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]
Das Problem wurde durch Ausführen der folgenden Befehle gelöst:
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
Ich würde davon ausgehen, dass diese irgendwann automatisch ausgeführt werden sollten, insbesondere angesichts der Tatsache, dass (a) ich sie nicht selbst ausführen musste, als ich Ubuntu von einem ISO-Image installiert habe, und (b) weil Vagrant so konzipiert sein soll, dass Sie sie ausführen vagrant up
Sie können die VM sofort ohne zusätzliche Konfiguration verwenden.
Möglicherweise muss ich in naher Zukunft eine große Anzahl virtueller Maschinen erstellen, und ich hatte gehofft, dass ich Vagrant verwenden kann, um dies zu tun, aber ich kann es nicht tun, wenn ich SSH auf jeder manuell reparieren muss.
Weiß jemand, warum dies passiert und was getan werden kann, um es zu beheben? Soll ich es als Fehler melden?
vagrant
auf Ihrem Host installiert ? Wie wäre es, das Vagabund-Debug einzuschalten und zu sehen, was passiert?vagrant ssh
Verwendet das unsichere Schlüsselpaar von Vagrant für die Authentifizierung von Pub-Schlüsseln.test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
oderssh-keygen
zum Generieren der Schlüssel erfolgen.test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
im/etc/rc.local
Skript sein.Antworten:
Dies ist ein Problem mit dem SSH-Hostschlüssel (NICHT im Zusammenhang mit der Authentifizierung mit öffentlichem Schlüssel).
Es sieht so aus, als ob das Problem darin bestand, dass das Vagunt-Image der Ubuntu-Cloud
/etc/ssh/
beim ersten Start (vagrant up
) die neuen Host-Schlüssel (falls sie nicht vorhanden sind) nicht generieren konnte .Zusätzlich zum manuellen Generieren der von Moshe erwähnten SSH-Hostschlüssel
Dies kann auch durch Hinzufügen des folgenden Befehls im Feld erfolgen
/etc/rc.local
test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
Ich hoffe es hilft.
quelle
Workaroud:
Importieren Sie die Appliance ~ / .vagrant.d / boxs / raring / box.ovf in VirtualBox
VM-Namen abrufen
Starten Sie die VM
Fügen Sie die folgende Zeile in /etc/rc.local ein (natürlich in der VM selbst!):
VM herunterfahren
Alte Bilder löschen
Exportieren Sie die VM im .ovf-Format
Getan :)
Habe auch einen Bugreport gemacht: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950
quelle
Dies scheint ein Fehler in den älteren Basisboxen gewesen zu sein. In den aktuellen Basisbox-Bildern (generiert am 20. August 2013) scheinen die Schlüssel automatisch erstellt zu werden, wenn die Box zum ersten Mal gestartet wird.
quelle