Impossibile accedere alla nuova installazione di Vagrant di 13.04


9

Ho usato l'immagine di Vagrant per 13.04 da http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box per creare una nuova macchina virtuale e ho provato a connettermi a usando ssh. Tuttavia, l'SSH si è sempre disconnesso immediatamente, senza nemmeno arrivare allo stage in cui ha tentato di autenticarsi.

Ho aperto la VM nella GUI di VirtualBox e ho guardato il file di registro SSH (auth.log). Era pieno di linee come questa:

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]

Il problema è stato risolto eseguendo i seguenti comandi:

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

Suppongo che questi dovrebbero essere eseguiti automaticamente a un certo punto, soprattutto dato che (a) non ho dovuto eseguirli da solo quando ho installato Ubuntu da un'immagine ISO, e (b) perché Vagrant dovrebbe essere progettato che dopo l'esecuzione vagrant uppuoi usare immediatamente la VM senza alcuna configurazione aggiuntiva.

Potrei aver bisogno di creare un gran numero di macchine virtuali nel prossimo futuro e speravo di poter usare Vagrant per farlo, ma non posso farlo se dovrò riparare manualmente SSH su ognuna.

Qualcuno sa perché questo accada e cosa si può fare per risolverlo? Devo segnalarlo come un bug?


Hai installato l'ultima versione vagrantdel tuo host? Che ne dici di attivare il debug vagabondo e vedere cosa succede? vagrant sshutilizza la coppia di chiavi non sicura di Vagrant per l'autenticazione della chiave pub.
Terry Wang,

Sì, questo è il nuovo vagabondo. Si noti che il mio problema non è la coppia di chiavi vagabonde, è la chiave della macchina del server SSH che non viene impostata. Se il server SSH non ha una chiave macchina, non è possibile connettersi ad esso.
Moshe Katz,

Ho appena provato una nuova VM 12.10 e la stessa cosa è successa.
Moshe Katz,

Siamo spiacenti, non ho letto attentamente la domanda. Ero un problema di chiave host sshd non autenticazione chiave pubblica. Sembra che durante il primo avvio l'immagine cloud di Ubuntu non sia riuscita a generare le nuove chiavi host (se NON trovato). Può essere eseguito da test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-servero utilizzare il ssh-keygenper generare le chiavi.
Terry Wang,

Dovrebbero esserci test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverdegli /etc/rc.localscript.
Terry Wang

Risposte:


5

Questo è un problema relativo alla chiave host SSH (NON correlato all'autenticazione con chiave pubblica).

Sembra che il problema sia che l'immagine del vagabondo cloud di Ubuntu non è riuscita a generare le nuove chiavi host (se non sono presenti /etc/ssh/) durante il primo avvio ( vagrant up).

Oltre a generare manualmente le chiavi host SSH menzionate da Moshe

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

Può anche essere fatto aggiungendo il seguente comando in /etc/rc.local

test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server

Spero che sia d'aiuto.


1
È una soluzione temporanea, ma non dovremmo segnalarlo come un bug all'interno di quell'immagine? Tutte le chiavi non dovrebbero essere già pregenerate?
Radek Simko,

5

Workaroud:

  • Importa l'appliance ~ / .vagrant.d / boxes / raring / box.ovf in VirtualBox

    VBoxManage import ~/.vagrant.d/boxes/raring/box.ovf
    
  • Ottieni nome VM

    VBoxManage list vms
    
  • Avvia la VM

    VBoxManage startvm ubuntu-cloudimg-raring-vagrant-amd64
    
  • Includi la seguente riga in /etc/rc.local (ovviamente nella VM stessa!):

    test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
    
  • Arresto della macchina virtuale

    sudo halt
    
  • Elimina vecchie immagini

    rm ~/.vagrant.d/boxes/raring/box.ovf ~/.vagrant.d/boxes/raring/box-disk1.vmdk
    
  • Esporta VM in formato .ovf

    VBoxManage export ubuntu-cloudimg-raring-vagrant-amd64 --output ~/.vagrant.d/boxes/raring/box.ovf
    

Fatto :)

Ha anche segnalato un bug: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950


3

Questo sembra essere stato un bug nelle caselle di base più vecchie. Nelle attuali immagini della casella di base (generate il 20 agosto 2013), le chiavi sembrano essere create automaticamente quando la scatola si avvia per la prima volta.


Sto incontrando questo bug (di nuovo) in questo momento, e sembra dalla segnalazione di bug di @ S0me0ne che lo siano anche altre persone. Ho confermato in / etc / ssh che i file chiave non sono presenti. Questo stava usando le immagini del 24 settembre.
Malvim,

Ok, hanno appena rilasciato un altro "batch" di macchine (dal 28 settembre 2013) che creano correttamente le chiavi mancanti. Sono stato in grado di verificarlo importando le scatole tramite VBoxManage. Stranamente, quando uso "vagrant up", i file non sono lì! C'è una differenza tra l'importazione diretta in VB e l'uso di Vagrant?
malvim,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.