Errore di autenticazione Vagrant ssh


147

Il problema con l'autenticazione ssh:

==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: bridged
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...

Posso Ctrl+Cuscire dal ciclo di autenticazione e poi correttamente ssh in manualmente.

Ho eseguito i seguenti passaggi sulla casella degli ospiti:

  • Abilitato Remote Loginper All Users.

  • Creata la ~/.sshdirectory con le 0700autorizzazioni.

  • Creato il ~/.ssh/authorized_keysfile con 0600autorizzazioni.

  • Incollato questa chiave pubblica in~/.ssh/authorized_keys

Ho anche provato a utilizzare una rete privata (hostonly) anziché la rete pubblica (a ponte), usando questa linea nel file Vagrant:

config.vm.network "private_network", ip: "172.16.177.7"

Ottengo lo stesso output (tranne Adapter 2: hostonly) ma non riesco a inserire manualmente ssh.

Ho anche provato config.vm.network "private_network", ip: "10.0.0.100".

Ho anche provato ad ambientarmi config.ssh.passwordnel Vagrantfile. Questo genera, SSH auth method: passwordma non esegue ancora l'autenticazione.

E ho anche provato a ricostruire la scatola e ricontrollare tutto quanto sopra.

Sembra che altri abbiano avuto successo con questa configurazione , quindi ci deve essere qualcosa che sto facendo di sbagliato.

Ho trovato questo thread e abilitato la GUI, ma questo non aiuta.

Risposte:


1

Assicurati che la tua prima interfaccia di rete sia NAT. L'altra seconda interfaccia di rete può essere tutto quello che vuoi quando stai costruendo box. Non dimenticare l'utente di Vagrant, come discusso nel thread di Google.

In bocca al lupo.


172

Per informazioni generali: per impostazione predefinita per ssh-connect puoi semplicemente usare

utente: vagrantpassword:vagrant

https://www.vagrantup.com/docs/boxes/base.html#quot-vagrant-quot-user

Per prima cosa, prova: per vedere cos'è il vagabondo insecure_private_keynella configurazione della tua macchina

$ vagrant ssh-config

Esempio:

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

http://docs.vagrantup.com/v2/cli/ssh_config.html

In secondo luogo, fare: modificare il contenuto del file insecure_private_keycon il contenuto della chiave privata del sistema personale

Oppure usa: aggiungilo al Vagrantfile:

Vagrant.configure("2") do |config|
  config.ssh.private_key_path = "~/.ssh/id_rsa"
  config.ssh.forward_agent = true
end
  1. config.ssh.private_key_path è la tua chiave privata locale
  2. La chiave privata deve essere disponibile per l'agente ssh locale. Puoi verificare con ssh-add -L. Se non è elencato, aggiungilo conssh-add ~/.ssh/id_rsa
  3. Non dimenticare di aggiungere la tua chiave pubblica ~/.ssh/authorized_keyssu Vagrant VM. Puoi farlo copiando e incollando o usando uno strumento come ssh-copy-id (utente: rootpassword: vagrantporta: 2222)ssh-copy-id '-p 2222 root@127.0.0.1'

Se il problema persiste, provare questo:

  1. Rimuovi il insecure_private_keyfile dac:\Users\USERNAME\.vagrant.d\insecure_private_key

  2. Esegui vagrant up(vagrant genererà un nuovo insecure_private_keyfile)

In altri casi, è utile impostare forward_agent in Vagrantfile :

Vagrant::Config.run do |config|
   config.ssh.forward_agent = true
end

Utile:

La configurazione di git può avvenire con git-scm.com

Dopo aver impostato questo programma e aver creato la chiave privata del sistema personale sarà nel percorso del tuo profilo:c:\users\USERNAME\.ssh\id_rsa.pub

PS: Infine, suggerisci di guardare Ubuntu su Windows 10


4
nel mio caso era un problema a causa della config.ssh.private_key_path = "~/.ssh/id_rsa"necessità di rimuovere questa linea per far funzionare il provisioning
holms il

Tutto ha funzionato, ma ho anche dovuto rimuovere la mia voce in host noti. Ho avuto problemi durante lo spostamento delle posizioni e l'accesso.
Pumphouse,

@shilovk +1 Grazie, grazie, grazie mille. Il "Second, do" ha fatto il trucco. Ancora grazie mille amico.
Whitesiroi,

Questo mi ha indicato la giusta direzione, nel mio caso tutto quello che dovevo fare era eliminare il file .vagrant / machines / default / virtualbox / private_key e dopo aver eseguito vagrant ha sostituito il file con quello corretto - Avrei eseguito il backup del file per ogni evenienza
andrux,

Il primo e più importante passo è controllare le impostazioni del BIOS, assicurarsi che la virtualizzazione sia abilitata.
Bahman.

83

Nessuna delle precedenti ha funzionato per me. In qualche modo la scatola aveva la chiave pubblica errata aggiunta nel file authorised_keys dell'utente vagabondo .

Se puoi ancora ssh sulla scatola con la password del vagabondo (la password è vagabonda), ad es

ssh vagrant@localhost -p 2222

quindi copia il contenuto della chiave pubblica da https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub nel file authorised_keys con il seguente comando

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" > .ssh/authorized_keys

Al termine, uscire dalla VM e provare di nuovo Vagrant SSH. Dovrebbe funzionare ora.


4
eseguito vagrant reloaddopo aver aggiornato il file authorized_keys. Vagrant rileverà automaticamente la chiave non sicura e la rigenererà per te. Dovrebbe funzionare in seguito.
ProfileTwist

47

Se riscontri questo problema su vagrant 1.8.5, dai un'occhiata a questo thread su github:

https://github.com/mitchellh/vagrant/issues/7610

È causato essenzialmente da un problema di autorizzazione, la soluzione è giusta

vagrant ssh 
password: vagrant 
chmod 0600 ~/.ssh/authorized_keys
exit

poi

vagrant reload 

Cordiali saluti: questo problema riguarda solo CentOS, Ubuntu funziona bene.


Diciamo che ho 5 macchine per un file vagabondo. Ogni volta che riesco, devo farlo per ogni macchina. Ho risolto questo problema in modo permanente per una data configurazione vagabonda usando centos?
Pol

Ho dovuto aggiornare Vagrant alla versione 1.8.6 per avere 1.8.5 in cui era presente un bug
Pol

42

Esegui i seguenti comandi nel computer guest / VM:

wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R vagrant:vagrant ~/.ssh

Quindi fermati vagabondo. Ciò rimuoverà e rigenererà le tue chiavi private.

(Questi passaggi presuppongono che tu abbia già creato o abbia già le directory ~ / .ssh / e ~ / .ssh / authorized_keys nella tua cartella home.)


26

Nella mia esperienza, questo è stato un problema sorprendentemente frequente con le nuove macchine vagabonde. Di gran lunga il modo più semplice per risolverlo, invece di alterare la configurazione stessa, è stato creare manualmente le chiavi ssh richieste sul client, quindi utilizzare la chiave privata sull'host.

  1. Accedi al computer vagabondo:, vagrant sshusa la password predefinita vagrant.
  2. Crea chiavi ssh: ad esempio ssh-keygen -t rsa -b 4096 -C "vagrant"( come consigliato dalla guida pertinente di GitHub ).
  3. Rinominare il file della chiave pubblica (per impostazione predefinita id_rsa.pub), sovrascrivendo quello vecchio: mv .ssh/id_rsa.pub .ssh/authorized_keys.
  4. Servizio di Ricarica SSH nel caso in cui aveva bisogno di: sudo service ssh reload.
  5. Copia il file della chiave privata (per impostazione predefinita id_rsa) sul computer host: ad esempio, usa una buona combinazione di cat e appunti cat .ssh/id_rsa, dipingi e copia (devono esistere modi migliori, vai a inventarne uno!).
  6. Esci dalla macchina vagabonda: logout.
  7. Trova la chiave privata corrente utilizzata da Vagrant osservando la sua configurazione: vagrant ssh-config(cerca ad esempio ÌdentityFile "/[...[/private_key".
  8. Sostituisci la chiave privata corrente con quella che hai creato sul computer host: per esempio, nano /[...]/private_keye incolla dagli appunti, se tutto il resto fallisce. ( Nota , tuttavia, che se la tua chiave privata non è specifica del progetto ma condivisa da più macchine vagabonde, è meglio configurare tu stesso il percorso in modo da non interrompere altre macchine perfettamente funzionanti! Cambiare il percorso è semplice come aggiungere una linea config.ssh.private_key_path = "path/to/private_key"nel Vagrantfile. ) Inoltre, se si utilizza la macchina generata da PuPHPet , è possibile memorizzare la chiave privata su file puphpet/files/dot/ssh/id_rsae questa verrà aggiunta automaticamente alla configurazione ssh di Vagrantfile.
  9. Prova l'installazione: vagrant sshora dovrebbe funzionare.

In tal caso, congratulati con te stesso, logoutcorri vagrant provisionse necessario e prosegui con il compito significativo a portata di mano.

Se i problemi persistono, può essere utile aggiungere un flag dettagliato al comando ssh per facilitare il debug. Puoi passare quella (o qualsiasi altra opzione, per quella materia) dopo il doppio trattino. Ad esempio, digitando vagrant ssh -- -v. Sentiti libero di aggiungere tutte le v di cui hai bisogno, ognuna ti darà maggiori informazioni.


Questa risposta mi ha aiutato. Solo per condividere la mia esperienza: in qualche modo (probabilmente durante l'installazione di Capistrano ma ciò non è confermato) il mio file autorizzato_chiave era stato cancellato sulla mia macchina virtuale ospite. Ricrearlo usando questi passaggi ha funzionato e ora posso ssh in senza richiesta di password. Grazie.
Martin Joiner,

Dopo aver rimosso entrambe le chiavi (pubbliche / private) dalla macchina host, sono stato in grado di ripetere e risolvere con questo processo
vrwired

L'uso di Git rende più rapido il trasferimento di quel contenuto di file.
lloan

1
questo ha funzionato per me dopo tutto quello che avevo provato, fallito .. grazie mille!
nikolas,

Questo ha funzionato per me. L'unica cosa che ho fatto diversamente è stata utilizzare ssh vagrant@10.0.0.0 -p 22 (password: vagrant)per accedere alla VM perché vagrant sshnon funzionava per me. 10.0.0.0è l'indirizzo IP privato che ho impostato nel mio vagrantfile.
turrican_34,

11

Questo può accadere anche se stai tentando di forzare la tua VM a utilizzare un utente root per impostazione predefinita per SSH ....

Ad esempio, una configurazione simile nel tuo Vagrantfile può causare questo errore:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

Soluzione: commentare quelle righe e riprovare!


2
per me solo impostare config.ssh.username = "vagrant" e config.ssh.password = "vagrant" ha fatto il trucco
psychok7

8

Problema Stavo ottenendo gli errori di autenticazione SSH, in una casella che ho eseguito il provisioning. L'originale funzionava bene.

Il problema per me era che mancava una chiave privata .vagrant/machines/default/virtualbox/private_key. Ho copiato la chiave privata dalla stessa posizione relativa dalla scatola originale e Viola!


Aggiungo che, come ogni buon sviluppatore, stiamo controllando i .vagrantfile in git ... e come tale, una rapida git checkoutdi detto file salva il giorno!
Ian Vaughan,

8

Ho trovato un modo per aggirare il pasticcio con le chiavi su Win 8.2 dove non sono riuscito con nessuno dei metodi menzionati qui. Potrebbe essere interessante che esattamente la stessa combinazione di VirtualBox, Vagrant e il box funzioni su Win 7 Ultimate senza problemi.

Sono passato all'autenticazione della password aggiungendo i seguenti comandi in Vagrantfile:

config.ssh.password = "vagrant"
config.ssh.insert_key = false

Nota che non sono sicuro che questa sia l'unica modifica richiesta perché l'ho già fatto:

  1. Ho generato una nuova coppia di chiavi RSA e modificato di conseguenza il file authorized_keys (tutti nella macchina virtuale, vedere i suggerimenti sopra e altrove)

  2. Ho copiato la chiave privata nella stessa directory in cui risiede e aggiunto Vagrantfile

     config.ssh.private_key_path = "./id_rsa"
    

Ma credo che questi cambiamenti siano irrilevanti. Ho passato un sacco di tempo a provare, quindi non ho cambiato la configurazione di lavoro per ovvi motivi :)


5

Impossibile eseguire il vagabondo perché si blocca e si interrompe?

Di recente ho avuto un "incidente con il laptop" e sono dovuto migrare a uno nuovo (a proposito di un MAC).

Ho messo in piedi con successo tutti i miei progetti accanto a quello che utilizzava Vagrant.

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 8000 (guest) => 8877 (host) (adapter 1)
    default: 8001 (guest) => 8878 (host) (adapter 1)
    default: 8080 (guest) => 7777 (host) (adapter 1)
    default: 5432 (guest) => 2345 (host) (adapter 1)
    default: 5000 (guest) => 8855 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...

Non è stato in grado di autenticare, riprovare più volte e alla fine ha rinunciato.

** Ecco come l'ho riportato in forma in 3 passaggi: **

1 - Trova il file di identità utilizzato dal vagabondo: $ vagrant ssh-config

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/ned/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

2 - Controlla la chiave pubblica in IdentityFile: $ ssh-keygen -y -f /Users/<user-name>/.vagrant.d/insecure_private_key Sostituisci '<user-name>'con il tuo utente. Sarà simile a questo:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==

3 - Accedere al computer vagabondo con la password "vagabondo": $ ssh -p 2222 -o UserKnownHostsFile=/dev/null vagrant@127.0.0.1

The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is dc:48:73:c3:18:e4:9d:34:a2:7d:4b:20:6a:e7:3d:3e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
vagrant@127.0.0.1's password: vagrant
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
...

4 - Aggiungi la chiave pubblica al file authorized_keys. $echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > /home/vagrant/.ssh/authorized_keys ssh-rsa

5 - Esci (crtl + d) e ferma il contenitore del vagabondo e riportalo su. $ vagrant halt $vagrant up

Spero che ora avrai le braccia in aria ...

Ho ottenuto questo, con solo un lieve modifica, da Ned Batchelders articolo - Ned sei un campione !!


Signore, siete un genio, o lo è Ned Batchelders. Ad ogni modo, ha risolto il mio problema!
Adsy2010,

4

per me, questo è stato risolto modificando i permessi sulla cartella .ssh in vagrant home directort (cioè "~ vagrant / .ssh"). Penso di aver incasinato le autorizzazioni mentre stavo configurando le chiavi ssh per la mia applicazione.

Sembra che il file 'authorized_keys' debba essere 'rw' solo per l'utente 'vagrant', quindi "chmod 600 authorized_keys"; lo stesso vale per la directory stessa e il suo genitore:

così:

chmod 600 authorized_keys
chmod 700 .
chmod 700 ..

Fu solo dopo aver ripristinato tutte queste autorizzazioni che Vagrant SSH riprese a funzionare.

Penso che abbia a che fare con la sicurezza ssh. Rifiuta di riconoscere i certificati se sono in qualche modo accessibili oltre l'utente corrente, quindi i tentativi di accesso dei vagabondi vengono pertanto respinti.


A volte non posso cambiare, eseguendo solo sudo chmod 600 authorized_keys ma rimane invariato. Penso che questo abbia qualcosa da fare che sia condiviso anche su Windows.
Darius.V,

A volte questo accade se la directory è su una condivisione, ad esempio/vagrant/...
robert,

1
Oltre alla mia risposta, vorrei votare per questa risposta. Su un'altra mia macchina c'era esattamente questo problema: proprietario errato della directory /home/vagrant/.ssh. Era "root: root" ma deve essere "vagabondo: vagabondo"
Michael,

4

Se stai usando la configurazione SSH predefinita nel tuo VagrantFile e hai iniziato a vedere gli errori di autenticazione SSH dopo aver riassociato il tuo box VM a causa di un crash, prova a sostituire la chiave pubblica nel tuo computer Vagrant.

Vagrant sostituisce la chiave pubblica associata a una coppia di chiavi privata non sicura ad ogni disconnessione per motivi di sicurezza. Se non hai spento correttamente il tuo computer, la coppia di chiavi pubblica / privata potrebbe non essere sincronizzata, causando un errore di autenticazione SSH.

Per risolvere questo problema, è sufficiente caricare la chiave privata non sicura corrente e quindi copiare la coppia di chiavi pubbliche nel file di file_auto autorizzato della VM.


3

Questa potrebbe essere l'ultima risposta nella lista ma questo ha funzionato per me e non ho trovato questa risposta da nessuna parte, l'ho trovata da sola dopo 2 giorni di ricerche, quindi è meglio provare questa soluzione se fino ad ora non ha funzionato altro.

Nel mio caso il problema è venuto dal mio VirtualBox. Non so per quale motivo un'opzione sia stata disabilitata e avrebbe dovuto essere abilitata.

inserisci qui la descrizione dell'immagine

Come puoi vedere nell'immagine, ci sono stati alcuni problemi di rete con il mio VirtualBox e quello che dovevo fare per risolvere questo problema era selezionare la mia macchina, premere su impostazioni, scheda di rete e poi assicurarsi che l'opzione Cavo collegato è stato selezionato. Nel mio caso questa opzione non è stata selezionata e ho fallito in questo passaggio:

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key

Innanzitutto ho pensato che la porta fosse già in uso, dopo di che ho reinstallato Vagrant e ho anche provato altre cose, ma nessuna di queste ha funzionato per me.


3

Questo mi è successo diverse volte e il modo in cui l'ho risolto è stato:

  1. Controlla e assicurati che il tuo Vagrantfile abbia il percorso corretto della chiave privata:

    config.ssh.private_key_path = "/home/razvan/.ssh/id_rsa"

  2. Esegui> comando vagrant ssh in un terminale linux

  3. Sulla tua macchina vagabonda vai a

    cd /home/vagrant/.ssh

e controlla se la chiave ssh nel file authorized_keys è la stessa di quella che hai sul tuo computer locale in ~ / .ssh / id_rsa.pub. In caso contrario, sostituisci quello dei tuoi vagabi autorizzati con quello sul tuo computer locale che si trova in ~ / .ssh / id_rsa.pub.

  1. Ricarica vagabondo:

    ricarica vagabonda

Spero che questo aiuti qualcun altro. Saluti!


Non ho la cartella ~ / .ssh quindi cosa dovrei fare ??
Ashish Karpe,

@AshishKarpe crearlo con l'autorizzazione 700 e creare un authorized_keysfile con l'autorizzazione 600 all'interno.
hogan,

3

1. Individua la chiave privata nell'host:

vagrant ssh-config
#

Produzione:

Host default
  ...
  Port 2222
  ...
  IdentityFile /home/me/.vagrant.d/[...]/virtualbox/vagrant_private_key
  ...

2. Memorizzare il percorso della chiave privata e il numero di porta in variabili:

Utilizzare questi due comandi con l'output dall'alto:

pk="/home/me/.vagrant.d/.../virtualbox/vagrant_private_key"
port=2222
#

3. Generare una chiave pubblica e caricarla sul computer guest:

Copia / pasta, nessuna modifica necessaria:

ssh-keygen -y -f $pk > authorized_keys
scp -P $port authorized_keys vagrant@localhost:~/.ssh/
vagrant ssh -c "chmod 600 ~/.ssh/authorized_keys"
rm authorized_keys
#

1
Ho avuto il problema descritto così tante volte, di solito dopo l'imballaggio e poi il ripristino della scatola di Vagrant. Ciò che ha funzionato per me è l'aggiunta della seguente configurazione per indicare a Vagrant di inserire la sua chiave pubblica nella VM: config.ssh.username = "vagrant"; config.ssh.password = "vagrant"; config.ssh.insert_key = trueMa questa volta la configurazione precedente non ha fatto nulla. Non so davvero perché, ho provato a eseguire il debug perché la chiave non è stata inserita senza fortuna. Quindi sono tornato alla tua soluzione e voilà! Funziona!
stz184,

2

Soluzione Mac:

  1. Aggiunta la chiave ssh id_rsa locale alla chiave privata vagabonda

    vi /Users//.vagrant/machines/default/virtualbox/private_key

    /Users//.ssh/id_rsa

  2. chiave pubblica copiata /Users//.ssh/id_rsa.pub sulla scatola vagabiancia autorizzato_keys

ssh vagrant@localhost -p 2222 (password: vagabondo) ls -la cd .ssh

  1. chmod 0600 ~/.ssh/authorized_keys

  2. vagrant reload

Problema risolto.

Grazie a


1

inoltre non potrebbe andare oltre:

impostazione predefinita: metodo di autenticazione SSH: chiave privata

Quando ho usato la GUI di VirtualBox, mi ha detto che c'era una mancata corrispondenza del processore del sistema operativo.

Per fare in modo che il vagabondo progredisca ulteriormente, nelle impostazioni del BIOS ho dovuto contro-intuitivamente:

Disabilita: virtualizzazione

Abilita: VT-X

Prova a cambiare queste impostazioni nel tuo BIOS.


1

Prima di tutto dovresti rimuovere il file insecure_private_key generato automaticamente, quindi rigenerare questo file digitando

vagrant ssh-config

poi

vagrant halt
vagrant up

Dovrebbe funzionare


Ho provato questo, ma ancora l'errore è questo perché sto usando Ubuntu Virtual Box VM all'interno del quale sto provando vagabondo?
Ashish Karpe,

#vagrant up Portare la macchina "default" con il provider "virtualbox" ... ==> default: cancellare tutte le porte inoltrate precedentemente impostate ... ==> default: cancellare tutte le interfacce di rete precedentemente impostate ... ==> default: Preparazione delle interfacce di rete in base alla configurazione ... impostazione predefinita: scheda 1: nat ==> impostazione predefinita: porte di inoltro ... impostazione predefinita: 22 (guest) => 2222 (host) (scheda 1) ==> impostazione predefinita: avvio VM .. . ==> impostazione predefinita: in attesa dell'avvio della macchina. L'operazione potrebbe richiedere alcuni minuti ... impostazione predefinita: indirizzo SSH: 127.0.0.1:2222 impostazione predefinita: nome utente SSH: impostazione predefinita vagrant: metodo di autenticazione SSH: chiave privata
Ashish Karpe,

1

Ho risolto il problema nel modo seguente. 1. Crea una nuova chiave SSH usando Git Bash

$ ssh-keygen -t rsa -b 4096 -C "vagrant@localhost"
# Creates a new ssh key, using the provided email as a label
Generating public/private rsa key pair.
  1. Quando viene richiesto di "Immettere un file in cui salvare la chiave", premere Invio. Questo accetta il percorso del file predefinito.

    Immettere un file in cui salvare la chiave (/Users/[y[[/.ssh/id_rsa): [Premere Invio]

  2. Al prompt, digitare una passphrase sicura. Puoi lasciare vuoto e premere Invio se non hai bisogno di una passphrase.

    Immettere un file in cui salvare la chiave (/Users/[y[[/.ssh/id_rsa): [Premere Invio]

  3. Per connettersi alla Vagrant VM digitare il comando seguente

    ssh vagrant @ localhost -p 2222

Quando viene visualizzato il seguente messaggio, digitare "Sì" e premere Invio.

The authenticity of host 'github.com (192.30.252.1)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
  1. Ora per stabilire un tipo di connessione SSH: $ vagrant ssh

  2. Copia la chiave pubblica host nel file authorized_keys in Vagrant VM. Per questo, vai alla cartella "Users / [you] /. Ssh" e copia il contenuto nel file id_rsa.pub nella macchina host e passa nel file "~ / .ssh / authorized_keys" in Vagrant VM.

  3. Modifica i permessi sulla cartella SSH e sul file authorized_keys in Vagrant VM
  4. Riavvia il vagabondo con: $ vagrant reload

0

Ho avviato la macchina, quindi:

vagrant ssh-config

Ho ottenuto quanto segue:

Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa IdentityFile /Users/my-user-name/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL

Poi ho corso

cat ~/.ssh/id_rsa > /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa

Macchina avviata da qui in poi

  • El Capitan 10.11.1 Beta (15B38b)
  • Virtual Box 5.0.8 r103449
  • Vagabondo 1.7.4

0

Tra tutte le risposte qui, ci sono molte cose buone da provare. Per completezza, se tu

ssh vagrant@localhost -p 2222

come suggerisce @Bizmate, e fallisce, assicurati di averlo fatto

AllowUsers vagrant

nella /etc/ssh/sshd_configtua macchina ospite / vagabondo.


0

Sto usando Vagrant con un'installazione Puphpet da maggio 2015 e ho avuto questo problema. Sembra che la configurazione che è stata generata non abbia gestito il comportamento di Vagrant 1.7.4 (o forse un po 'prima?) Nel rigenerare le chiavi ssh se rileva una chiave non sicura.

Ho risolto aggiungendo quanto segue nel mio Vagrantfile (installazione locale) generato da Puphpet nella clausola "if File.file? (CustomKey)":

config.ssh.insert_key = false

Impegno di riferimento


0

Questo tutti i passaggi corretti che ho seguito per risolvere questo problema si sono verificati durante l'esecuzione del comando vagrant up.

Questi sono i passaggi che ho seguito

  1. crea una cartella. ad es. F: \ progetti
  2. Apri questa cartella in git bash ed esegui questo comando ssh-keygen -t rsa -b 4096 -C "your_email@example.com" (inserisci un indirizzo email valido)
  3. Quindi generare una coppia di chiavi in ​​due file separati nella cartella del progetto. ad es. progetto (file chiave privata), project.pub (file chiave pubblica)
  4. Vai in questa posizione C: \ Users \ acer.vagrant.d e trova il file insecure_private_key
  5. Ottieni il backup del file e copia il contenuto della chiave privata appena creata e incollalo nel file insecure_private_key. Quindi copia insecure_private_key e incollalo anche in questa posizione.
  6. Ora vaghi nella posizione del tuo progetto. dopo aver generato il problema precedente digita vagrant ssh e vai all'interno dando username, password. (nel nome utente e password predefiniti è impostato come vagabondo)
  7. Entra in questa posizione cd /home/vagrant/.ssh e digita mv authorized_keys authorized_keys_bk
  8. Quindi digita ls -al e digita vi authorized_keys per aprire il file vi autorizzato_keys editor.
  9. Apri la chiave pubblica generata da notepad ++ (project.pub) e copia il contenuto Quindi premi i su git bash per abilitare la modalità di inserimento nell'editor vi e fai clic con il tasto destro e incolla. Dopo premere premere Esc per uscire dalla modalità di inserimento
  10. : Wq! per salvare il file e digitare ls -al
  11. Quindi le autorizzazioni sono impostate come qui sotto non è necessario cambiare drwx ------. 2 vagabondo vagabondo 4096 febbraio 13 15:33. drwx ------. 4 vagabondo vagabondo 4096 feb 13 14:04 .. -rw -------. 1 vagabondo vagabondo 743 13 febbraio 14:26 authorized_keys -rw -------. 1 radice radice 409 13 febbraio 13:57 authorized_keys_bk -rw -------. 1 vagabondo vagabondo 409 gen 2 23:09 authorized_keys_originial Altrimenti digita chmod 600 authorized_keys e digita anche questo comando chagromagrante: vagrant authorized_keys
  12. Finalmente corri la fermata del vagabondo e il vagabondo di nuovo su.

************************ QUESTO È UN LAVORO FINE PER ME ******************** ***********


0

Solo per quelle persone che sono state idiote come me o che hanno avuto qualcosa di strano nella loro macchina vagabonda. Questo errore può verificarsi anche quando si modificano le autorizzazioni della home directory dell'utente vagabondo (deliberatamente o per errore).

Puoi invece accedere (come descritto in altri post) usando la password ('vagrant') e quindi eseguire il comando seguente per correggere le autorizzazioni.

sudo chown -R vagrant:vagrant /home/vagrant

Quindi dovresti essere in grado di accedere di nuovo senza inserire la password.

TL; DR: le autorizzazioni per la cartella principale del tuo vagabondo sono errate.


0

Semplice:

homestead destroy
homestead up

Modifica (non semplice come il primo pensiero):

Il problema era che le nuove versioni di uso della fattoria php7.0e alcune altre cose. Per evitare questo casino, assicurati di impostare verisonin Homestead.yml:

version: "0"

0

Ho risolto questo problema eseguendo i comandi su Windows 7 CMD come indicato in questo qui è il link dell'ultimo post su questo thread,

https://github.com/mitchellh/vagrant/issues/6744

Some commands that will reinitialize various network states:
Reset WINSOCK entries to installation defaults : netsh winsock reset catalog
Reset TCP/IP stack to installation defaults : netsh int ip reset reset.log
Flush DNS resolver cache : ipconfig /flushdns
Renew DNS client registration and refresh DHCP leases : ipconfig /registerdns
Flush routing table : route /f

0

Ho battuto la testa su questo per gli ultimi due giorni su una scatola base riconfezionata. (Mac OS X, El Capitan)

Seguendo la procedura di @Radek ho fatto 'vagrant ssh-config' sul box sorgente e ho ottenuto:

...
/Users/Shared/dev/<source-box-name>/.vagrant/machines/default/virtualbox/private_key
...

Sulla nuova copia, quel comando mi ha dato:

...
IdentityFile /Users/<username>/.vagrant.d/insecure_private_key
...

Quindi, ho appena aggiunto questa riga nella nuova copia:

...
config.ssh.private_key_path = "/Users/Shared/dev/<source-box-name>/.vagrant/machines/default/virtualbox/private_key"
...

Non perfetto, ma posso andare avanti con la mia vita.


0

Un'altra soluzione semplice, in Windows, vai al file Homestead / Vagrantfile e aggiungi queste linee per connetterti con un nome utente / password anziché una chiave privata:

config.ssh.username = "vagrant"  
config.ssh.password = "vagrant"  
config.ssh.insert_key = false 

Quindi, finalmente parte del file sarà simile al seguente:

if File.exists? homesteadYamlPath then
    settings = YAML::load(File.read(homesteadYamlPath))
elsif File.exists? homesteadJsonPath then
    settings = JSON.parse(File.read(homesteadJsonPath))
end

config.ssh.username = "vagrant"  
config.ssh.password = "vagrant"  
config.ssh.insert_key = false 

Homestead.configure(config, settings)

if File.exists? afterScriptPath then
    config.vm.provision "shell", path: afterScriptPath, privileged: false
end

Spero che questo aiuto ..


0

Ho provato questo sul mio computer VM

cambia i permessi / home / vagrant (ha fatto un chmod 700 su di esso)

ora posso ssh direttamente nelle mie scatole

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.