Disabilita temporaneamente l'autenticazione con chiave pubblica ssh dal client


37

C'è un modo per disabilitare temporaneamente l'autenticazione con chiave pubblica quando si usa ssh e usare invece l'autenticazione con password?

Al momento desidero accedere al server remoto, ma sto usando un altro laptop, non il mio.

Navigando su quel link , ho scoperto che il comando ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no host1.example.orgnon funziona ovunque. E sì, non funziona per me. Sto usando: OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 marzo 2012

Modifica: ho anche provato a digitare ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no ma ho ancora "Autorizzazione negata (chiave pubblica)".

Quindi, c'è una configurazione specifica da fare nel server remoto, affinché quel comando funzioni? Oppure, quando quel comando funzionerà come previsto?

Grazie mille per i consigli.


30
Se hai seguito di nuovo il link, c'era qualcuno che affermava che il tuo metodo non funzionava, ma questo ha funzionato:ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no
NickW,

@NikW Grazie mille, forse avrei dovuto menzionarlo, ho provato anche il comando che proponi, hai ancora il "permesso negato (chiave pubblica)".
Nsukami _

1
Ho appena risolto questo problema perché il mio laptop aveva una tonnellata di chiavi e ssh ha provato tutti loro, e sono stato respinto prima ancora di avere la possibilità di inserire la password. Grazie per avermelo chiesto.
Dallaylaen,

3
@NickW Se metti il ​​tuo commento come risposta, lo voterei.
labirinto

Risposte:


9

Sembra un problema di configurazione sul lato server.

Se il server consente sia l'autenticazione della chiave pubblica sia quella della password, anche se si tenta di connettersi senza un file di chiave privata presente sul client, è necessario richiedere una password.

Se ricevi il messaggio di errore "Permission denied (publickey)" , sembra che l'autenticazione della password non sia supportata sul tuo server.

Senza vedere il file / etc / sshd_config, è difficile sapere ma la mia ipotesi sarebbe che è necessario assicurarsi che esista la seguente riga:

PasswordAuthentication yes

Riavvia il server ssh e quando ti connetti dal client dovresti ricevere una password se non è presente una chiave privata o se la chiave privata non corrisponde alla chiave pubblica sul server.

Un'alternativa più sicura a questa, ovviamente, sarebbe quella di copiare la chiave privata sul laptop che si sta utilizzando, o in effetti generare una nuova chiave privata da utilizzare su quel laptop e aggiungere la chiave pubblica a .ssh/authorized_keys


6

Basta creare un file ID vuoto.

touch $HOME/.ssh/blank

Se si lascia l'autorizzazione 640 o 644, ssh si lamenterà che le autorizzazioni non sono abbastanza sicure e non la utilizzano. Se lo digiti a 600, ti verrà richiesta una password 3 volte e fallirà perché non c'è password. Quindi lascialo 640 o 644.

Quindi quando usi ssh usa questo comando.

ssh -i $HOME/.ssh/blank servername-or-ip

È possibile utilizzare .ssh / config e impostare una voce host per non utilizzare la chiave, ma è meno temporanea oppure è possibile creare alias per server e server-nokey ma diventa lungo ed è un problema da mantenere.


5
-i /dev/nullfunziona anche e non necessita di controllo delle autorizzazioni.
svvac,

I file vuoti / nulli non funzionano, sshdice Load key "/dev/null": invalid format, quindi continua a utilizzare le altre chiavi che hai configurato comunque e quindi non riesce ad accedere a causa di troppi errori di autenticazione.
Malvineous,

Per me questo non ha funzionato. Forse le mie credenziali sono state memorizzate nel portachiavi di Gnome.
Yaroslav Nikitenko,
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.