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?
test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
oder ssh-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.
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.