lungo ritardo durante l'accesso con CentOS7


15

Ho un sistema CentOS 7 e quando accedo con putty o ssh c'è un lungo ritardo prima di ricevere la richiesta della password. Ho eseguito ssh -v e ho scoperto che arriva fino a questo:

debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received

e poi rimane lì per 1-2 minuti e quindi questa uscita esplode:

debug1: Authentications that can continue:
publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure.  Minor code may provide more information
debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available
debug1: Next authentication method: publickey
debug1: Trying private key: /home/motor/.ssh/id_rsa
debug1: Trying private key: /home/motor/.ssh/id_dsa
debug1: Trying private key: /home/motor/.ssh/id_ecdsa
debug1: Trying private key: /home/motor/.ssh/id_ed25519
debug1: Next authentication method: password

E poi viene visualizzata la richiesta della password. Ciò accade indipendentemente dall'utente che accede. Succede solo sul sistema 1. Ne ho altri 5 in cui procede senza indugio.

Non ci sono dischi o memoria o altri errori nei registri.

Cosa potrebbe causare un ritardo come questo?

AGGIORNARE:

Ho provato a impostare GSSAPIAuthenticationsu no e questo non ha risolto il problema.

Ho eseguito di nuovo ssh, questa volta con -vvv. Questo output è uscito e poi si è bloccato:

debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/motor/.ssh/id_rsa ((nil)),
debug2: key: /home/motor/.ssh/id_dsa ((nil)),
debug2: key: /home/motor/.ssh/id_ecdsa ((nil)),
debug2: key: /home/motor/.ssh/id_ed25519 ((nil)),

Dopo 1-2 minuti è uscito questo:

debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/motor/.ssh/id_rsa
debug3: no such identity: /home/motor/.ssh/id_rsa: No such file or directory
debug1: Trying private key: /home/motor/.ssh/id_dsa
debug3: no such identity: /home/motor/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /home/motor/.ssh/id_ecdsa
debug3: no such identity: /home/motor/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/motor/.ssh/id_ed25519
debug3: no such identity: /home/motor/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

E poi la richiesta della password.

Risposte:


16

Nel tuo /etc/ssh/sshd_configserver remoto dovresti cambiare l'opzione GSSAPIAuthenticationin no. Riavvia sshd e dovresti essere a posto.

modifica: GSSAPI (Generic Programming Service Application Interface Interface) è essenzialmente un'API che utilizza le librerie Kerberos per fornire una forte crittografia di rete. A meno che non vi sia un motivo particolare per cui è necessario abilitare GSSAPI, questo metodo dovrebbe risolvere il problema riscontrato.

edit2: Per chiarezza, potrebbe anche essere possibile che il controllo DNS inverso stia scadendo (controllando in particolare il record PTR degli host di connessione). SSH esegue questo controllo come ovvio perché funge da misura di sicurezza per convalidare l'host che si connette.

Detto questo, il processo non aggiunge molto in termini di sicurezza reale perché realisticamente c'è una percentuale significativa di host che non hanno comunque un PTR. Esistono tre modi per risolvere questo problema:

1). È possibile modificare il sshd_configfile per utilizzare il UseDNS noparametro. Ciò interromperà la ricerca DNS inversa. È sicuro da fare.

2). Aggiungi un record PTR nel sistema DNS appropriato per l'host che è lento nella connessione.

3). Aggiungere una voce manuale nel hostsfile del SO con la voce pertinente.

Spero possa aiutare!


1
Questo non risolve il problema. C'è ancora il ritardo. Aggiornerò il mio post originale con maggiori informazioni.
Larry Martell,

6
Potrebbe essere la ricerca DNS inversa che impiega il suo tempo; potresti provare ad aggiungere UseDNS noil file sshd_config e ricaricare il servizio per vedere se questo fa la differenza.
Brett Levene,

Non potrò provarlo fino alla settimana successiva. Ti farò sapere come va. Grazie.
Larry Martell,

2
Sì, quello era il problema. Usandolo UseDNS noriparato e rimosso il ritardo. Grazie.
Larry Martell,

4

Sembra un problema DNS: durante un tentativo di accesso, viene eseguita una ricerca DNS inversa per fornire il nome host remoto nei registri di autenticazione.

Verificare che nel /etc/resolv.conffile non sia presente un risolutore che non risponde .


Sì, quello era il problema. La correzione di questo ha rimosso il ritardo. Grazie!
Larry Martell,

Larry, sono contento che questo abbia risolto il problema. Ti dispiacerebbe selezionare questa come risposta accettata? Grazie e buona fortuna per i tuoi sforzi futuri.
Admin

Ho selezionato la risposta data da Brett Levene mentre rispondeva davanti a te.
Larry Martell,
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.