2010-09-12 17:14:13 +0000 2010-09-12 17:14:13 +0000
264
264

Troppi errori di autenticazione per *username*

Ho un account hostgator con accesso ssh abilitato. Quando cerco di caricare il file generato della chiave .pub con questo comando:

rsync -av -e "ssh -p2222" /home/user/.ssh/key.pub username@111.222.33.44:.ssh/authorized_keys

Continuo a ricevere:

Received disconnect from 111.222.33.44: 2: Too many authentication failures for username rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(601) [sender=3.0.7]

Ho giocato in precedenza con ssh fino a quando non ho avuto il fallimento dell'autenticazione. Ma ora sembra che il contatore di auth failure non si azzeri (sono più di 12 ore che aspetto, il supporto tecnico “suppone” che si azzeri dopo 30 min a 1 ora, e un altro tizio mi ha detto “si azzera ogni volta che si cerca di accedere con il nome utente”, jeesh).

Questo mi sta facendo impazzire. Ho anche fatto impostare questo in un server personalizzato Slicehost e ho avuto meno problemi che con questi ragazzi.

Qualche consiglio? Forse è qualcosa che riguarda il lato client e non il lato server.

Risposte (14)

423
423
423
2010-09-12 17:53:29 +0000

Questo è di solito causato dall'offerta inavvertita di più chiavi ssh al server. Il server rifiuterà qualsiasi chiave dopo che ne sono state offerte troppe.

Potete vederlo voi stessi aggiungendo il flag -v al vostro comando ssh per ottenere un output verboso. Vedrete che un mazzo di chiavi viene offerto, fino a quando il server rifiuta la connessione dicendo: “Troppi errori di autenticazione per [utente]”. Senza modalità verbose, vedrete solo il messaggio ambiguo _“Connection reset by peer”.

Per evitare che vengano offerte chiavi irrilevanti, dovete specificarlo esplicitamente in ogni voce dell'host nel file ~/.ssh/config (sulla macchina client) aggiungendo IdentitiesOnly in questo modo:

Host www.somehost.com
  IdentityFile ~/.ssh/key_for_somehost_rsa
  IdentitiesOnly yes
  Port 22

Se usate l'ssh-agent, aiuta ad eseguire ssh-add -D per cancellare le identità.

Se non si utilizza alcuna configurazione di host ssh, è necessario specificare esplicitamente la chiave corretta nel comando ssh in questo modo:

ssh -i some_id_rsa -o 'IdentitiesOnly yes' them@there:/path/
``` ```
ssh -i some_id_rsa -o IdentitiesOnly=yes them@there:/path/

Nota: il parametro “IdentitiesOnly yes” deve essere tra virgolette.

o

&001

195
195
195
2012-03-25 00:14:49 +0000

Ho trovato un modo più semplice per farlo (se si utilizza l'autenticazione con password):

ssh -o PubkeyAuthentication=no username@hostname.com
``` &001 


Questo forza l'autenticazione senza chiave. Sono stato in grado di accedere immediatamente. 
[ Riferimento ](http://www.burobjorn.nl/blog/2010/06/25/fix-ssh-too-many-authentication-failures/)
27
27
27
2011-06-09 04:56:25 +0000

Anch'io stavo ricevendo questo errore e ho scoperto che stava accadendo b/c il server è stato configurato per accettare fino a 6 tentativi:

/etc/ssh/sshd_config
...
...
#MaxAuthTries 6

Oltre ad impostare il IdentitiesOnly yes nel vostro file ~/.ssh/config avete un paio di altre opzioni.

  1. Aumentare il MaxAuthTries (sul server ssh)
  2. Aumentare il ~/.ssh/ (sul server ssh) . 2. Cancellate alcune delle coppie di chiavi che avete presenti nella vostra directory ssh-add -D ed eseguite ~/.ssh/config
  3. Collegate esplicitamente una chiave ad un dato host nel vostro file &007

Così:

host foo
hostname foo.example.com
IdentityFile /home/YOU/.ssh/foo
  1. Probabilmente non è un buon modo di procedere, dato che indebolisce un po’ il vostro server ssh poiché ora accetterà più chiavi in un dato tentativo di connessione. Pensate ai vettori di attacco della forza bruta qui.

  2. È un buon modo di procedere supponendo di avere chiavi che non sono necessarie e che possono essere cancellate in modo permanente.

  3. E l'approccio di impostare IdentitiesOnlyOnly sono probabilmente i modi preferiti per affrontare questo problema!

7
7
7
2014-07-23 17:29:54 +0000

Ho aggiunto a ~/.ssh/config questo:

Host *
IdentitiesOnly yes

Abilita l'opzione IdentitiesOnly=yes per default. Se avete bisogno di connettervi con la chiave privata, dovreste specificarlo con l'opzione -i

6
6
6
2013-09-20 21:44:02 +0000

Se si ottiene il seguente errore SSH:

$ Received disconnect from host: 2: Too many authentication failures for root
``` ```
$ ssh -o PubkeyAuthentication=no root@host

Questo può accadere se avete (di default sul mio sistema) cinque o più file di identità DSA/RSA memorizzati nella vostra directory .ssh e se l'opzione ‘-i’ non è specificata nella riga di comando.

Il client ssh tenterà prima di effettuare il login utilizzando ogni identità (chiave privata) e il successivo prompt per l'autenticazione della password. Tuttavia, sshd interrompe la connessione dopo cinque tentativi di login sbagliati (anche in questo caso il valore predefinito può variare).

Se si dispone di un certo numero di chiavi private nella directory .ssh si può disattivare “Autenticazione a chiave pubblica” nella riga di comando usando l'argomento opzionale ‘-o’.

Per esempio:

&001

6
6
6
2015-06-19 14:22:41 +0000

Se avete una password, e volete semplicemente usare la password per il login, ecco come fare.

Per usare SOLO l'autenticazione con password e NON usare la chiave pubblica, e NON usare la un po’ fuorviante “tastiera interattiva” (che è un superset comprensivo di password), potete farlo dalla riga di comando:

ssh -o PreferredAuthentications=password user@example.com
3
3
3
2014-01-25 05:48:51 +0000

Andando via @David dicendo, basta aggiungere questo IdentitiesOnly yes al vostro .ssh/config, fa la stessa cosa di ssh -o PubkeyAuthentication=no.

Dopo aver effettuato il login, rimuovere .ssh/authorized_keys. Ora, tornate alla macchina locale e digitate il seguente

cat ~/.ssh/id_rsa.pub | ssh -o PubkeyAuthentication=no user@IP_ADDR 'cat >> .ssh/authorized_keys'. Questo dovrebbe riattivare il vostro ssh con la chiave pubblica

2
2
2
2014-06-13 17:37:06 +0000

So che questo è un vecchio thread, ma volevo solo aggiungere che mi sono imbattuto nello stesso messaggio di errore, ma è stato causato dal fatto che il proprietario della cartella .ssh è root piuttosto che l'utente che usava la chiave. Ho corretto il problema eseguendo i seguenti comandi:

sudo chown -R user:user /home/user/.ssh
``` ```
sudo chmod 700 /home/user/.ssh

Ho anche fatto in modo che i permessi fossero corretti sulla cartella .ssh:

sudo chmod 600 /home/user/.ssh/authorized_keys
``` &001 


I file all'interno della cartella .ssh dovrebbero avere il permesso di 600: 


&001
1
1
1
2016-02-20 22:57:15 +0000

Nel mio caso, il problema è stato quello dei permessi di directory. Questo mi ha risolto:

$ chmod 750 ~;chmod 700 ~/.ssh
0
0
0
2019-11-24 01:41:40 +0000

Questo è stato divertente per me. È venuto fuori che ho cambiato la mia password localmente mentre ero in una modalità di localizzazione diversa da quella di una tastiera che stavo usando per effettuare il login da remoto. Questo ha effettivamente reso la mia password diversa da quella che pensavo fosse probabilmente perché uno dei miei caratteri speciali era diverso da quello che la tastiera diceva di essere.

0
0
0
2018-04-12 13:28:15 +0000

Troppi errori di autenticazione

Questo messaggio è causato da troppi tentativi di autenticazione falliti dati i limiti consentiti applicati sul server SSH remoto. Questo potenzialmente significa che si sono aggiunte troppe identità nell'agente SSH.

Ecco alcuni suggerimenti:

  • Aggiungere -v per vedere se è così (si usano troppe identità).
  • Elencare le identità aggiunte da ssh-add -l.
  • Rimuovere le identità non riuscite dall'agente da: ssh-add -d.
  • Si possono anche cancellare tutte le identità da ssh-add -D e aggiungerne solo una.
  • Se si ha accesso al server SSH, controllare l'opzione MaxAuthTries (vedere: man sshd_config ).

  • Se non è di aiuto, assicurarsi di usare le credenziali o il file giusto.

0
0
0
2017-05-05 07:57:18 +0000

Avevo la mia chiave pubblica in .ssh/authorized_keys2, ma il server era configurato per leggere solo .ssh/authorized_keys:

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys

Dopo aver spostato il mio file in .ssh/authorized_keys, posso accedere con successo con la mia chiave.

0
0
0
2014-11-19 08:10:08 +0000

Nel mio caso, stava accadendo perché stavo usando il nome utente “ubuntu”, ma il nome utente in questo caso era “ec2-user”

Dopo aver fatto quello che “John T” ha suggerito, ho ottenuto questo errore:

Permesso negato (publickey).

Poi ho trovato la soluzione (cioè cambiare il nome utente in “ec2-user”) in questa risposta: https://stackoverflow.com/questions/1454629/aws-ssh-access-permission-denied-publickey-issue

-1
-1
-1
2016-09-26 15:23:15 +0000

Questo messaggio può apparire quando il nome utente e la password corretti non sono stati inseriti.

Verificare innanzitutto che l'utente sia elencato:

vim /etc/passwd