ssh connessione molto lenta


18

Ho diversi sistemi remoti, e uno di questi, un linode che esegue debian, è molto lento in ssh - ci vogliono circa 20-25 secondi ogni volta. Questo sembra essere successo relativamente di recente. Ho provato a installare GSSAPIAuthenticationper noo yescome suggerito in diverse risposte a domande simili, e non fare la differenza. Inoltre, non fa alcuna differenza se eseguo il login utilizzando fqdn o l'indirizzo IP. Ho lo stesso ritardo tra la mia casella Linux locale o il mio Macintosh locale. Non ho tali ritardi che vanno dal linode alla casella Linux locale. Ho un altro sistema remoto che usa la stessa versione di Debian e posso usarlo in 2 secondi. L'unica differenza tra il/etc/ssh/sshd_config i file nelle due caselle Debian è che quello veloce non consente le password e specifica anche un elenco di cifre consentite.

Se accedo usando ssh -vvv root@linode, il ritardo si verifica nella parte contrassegnata con >>>>>>

debug2: key: /root/.ssh/id_ecdsa ((nil))
debug2: key: /root/.ssh/id_ed25519 ((nil))
debug3: send packet: type 5
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50

>>>>>>

debug3: receive packet: type 51
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: Offering RSA public key: /root/.ssh/id_rsa
debug3: send_pubkey_test

(Questo è solo un registro parziale - registro completo disponibile su richiesta)

Non riesco a trovare nulla sull'accesso /var/log/auth.logo /var/log/syslogdurante il tempo di ritardo - dopo ottengo solo

Jul 27 13:46:43 linode sshd[23049]: Accepted publickey for root from 199.241.27.237 port 51464 ssh2: RSA 89:08:ef:44:48:a4:84:b7:0a:de:14:65:1b:d9:86:f8
Jul 27 13:46:43 linode sshd[23049]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 27 13:46:43 linode systemd-logind[3235]: New session 10361 of user root.

Risposte:


25

Se la creazione della connessione è lenta, ma dopo la creazione è normale, si avrà probabilmente il problema che il server sta eseguendo una ricerca DNS inversa per il client e che, per qualche motivo, non riesce.

In generale, durante il debug di questo, puoi anche provare ad accedere da due terminali. Con il primo accesso guarda il sshdregistro sul server, mentre stai provando ad accedere dal secondo. Questo ti dà maggiori informazioni su ciò che il server sta facendo (o aspettando).

Puoi provare a trovare la prova per questo perché la ricerca DNS inversa imposta uno o entrambi i seguenti elementi in /etc/ssh/sshd_config:

UseDNS no
UsePAM no

e vedere se ciò accelera la creazione della connessione. Se lo fa, puoi spesso lasciare le cose in questo modo fino a quando non vengono risolte (se ti interessa).

Se si tratta di un problema di ricerca DNS inversa, dipende dal server DNS utilizzato dalla macchina a cui si accede. Secondo Wikipedia, non tutti gli indirizzi IP hanno una voce inversa, poiché non si tratta di un vero requisito di standard. Ma più probabilmente questo è un problema di configurazione.


Il mio nuovo ISP (fibra da 1000 Mbps a casa!) Non ha una voce rDNS per il mio IP. Quindi UseDNS norisolto il problema tanto quanto verrà risolto.
Paul Tomblin,

2
L'aggiunta di UseDNS non ha funzionato per me.
Jose 'Vargas,

Ho provato tutto questo, niente dadi. Alla fine ho appena riavviato il client e tutto andava bene.
medley56,

Questo è stato molto utile ... ho scoperto che il DNS del server non era configurato correttamente. Correzione che risolveva le connessioni ssh lente.
TemporalWolf,

L'aggiunta di UseDNS = no e il riavvio di sshd ha funzionato per me. CentOS 7.
pzy

-2

Sui sistemi Debian / Ubuntu il trucco è eliminare "il demone avahi" dal sistema e il problema è scomparso.

apt-get -y purge avahi*

2
non è una buona idea mettere -yil comando purge, l'utente dovrebbe rivedere l'azione prima dell'esecuzione.
Rabin,
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.