l'accesso basato su chiave ssh funziona solo se una sessione è già attiva. fallisce altrimenti


2

ssh con autenticazione basata su chiave fallisce la prima volta, passando all'autenticazione basata su password. Tuttavia, se l'utente è connesso (tramite ssh, o direttamente sul terminale della VM), l'autenticazione basata su chiave funziona.

Ci sono un certo numero di soluzioni proposte in rete, ma finora nessuno di loro ha funzionato.

Ho provato a prendere il file / etc / ssh / sshd_config da un altro server su cui posso accedere per la prima volta (ad esempio, nessun problema di questo tipo). Ma su detta VM, questo problema continua.

La macchina è una macchina virtuale Ubuntu 14.x in esecuzione su Virtual Box.

Hanno esaminato questi post correlati, ma non hanno funzionato:

Cosa potrebbe significare "Roaming not allowed by server" del client ssh? - l'impostazione di HostbasedAuthentication su yes non ha funzionato. l'impostazione di UseRoaming su qualsiasi valore ha causato il riavvio del server ssh.

Altri post hanno suggerito di impostare i permessi per ~ / .ssh a 700 e ~ / .ssh / authorized_keys a 600 - anche questi non fanno alcuna differenza.

La parte strana è che l'autenticazione basata su chiavi funziona quando l'utente ha già effettuato l'accesso. D'altra parte, se l'utente si disconnette da tutte le sessioni e prova ad accedere di nuovo, viene visualizzata la richiesta della password.

Grazie per i tuoi pensieri!


Puoi fornire l'output di ssh -v hostname quando fallisce?
ott--

1
La VM è impostata per utilizzare la crittografia della directory home?
grawity

@grawity yes, la home directory è crittografata. Questo potrebbe essere il problema, vero?
jerry

Ebbene sì, come è possibile che sshd legga fuori i tuoi authorized_keys ...
grawity

Risposte:


0

Quindi il problema è che la tua home directory è crittografata e si blocca automaticamente ogni volta che ti disconnetti completamente.

E se la home directory è crittografata, ~ / .ssh / authorized_keys è anche crittografato, quindi sshd non può determinare quali chiavi sono consentite.

Dovrai specificare un diverso AuthorizedKeysFile nel tuo sshd_config, o disabilita ecryptfs.

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.