Come velocizzare l'accesso SSH?


23

Da fuori casa, ogni volta che accedo al mio server Ubuntu usando SSH, ci vogliono circa 6 secondi per ottenere la richiesta di password, tuttavia quando accedo al mio server di web hosting ci vogliono circa 1 secondo. Cosa posso fare per accelerare questo?

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
$ ssh -v
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
$ cat /proc/cpuinfo
model name      : Dual-Core AMD Opteron(tm) Processor 1210
cpu MHz         : 1000.000
cache size      : 1024 KB
$ cat /proc/meminfo
MemTotal:      2074528 kB

Risposte:


38

Il motivo numero uno che ho visto per questo è un'opzione di configurazione in SSHD UseDNSquesta opzione (abilitata per impostazione predefinita) fa sì che il server esegua la risoluzione DNS sulle richieste in arrivo. Un'operazione che richiede tempo. Ho visto gli accessi andare da un minuto più l'attesa della richiesta della password per meno di pochi secondi. Se modifichi /etc/ssh/sshd_configsul server e aggiungi (se non è presente) in fondo, UseDNS noriavvia il demone SSH con service ssh restartte dovresti vedere un miglioramento la prossima volta che ti connetti.


6
Meglio correggere la configurazione DNS.
Thorbjørn Ravn Andersen,

Questo ha funzionato benissimo !! Grazie! Il tempo di accesso è passato da 20-30 secondi a meno di 5 secondi :)
AntonioCS

3
Qual è il vantaggio di aver UseDNSabilitato?
ændrük,

Sii consapevole! quando imposti la direttiva UserDNSdopo una Matchdirettiva otterrai un errore: is not allowed within a Matchblocca se riavvii sshd non sarai in grado di ssh nel tuo server. Ho fatto questo errore e sono stato bloccato fuori dal mio server. Ricorda sempre di non aggiungere alcuna direttiva in fondo a sshd_configse hai una Matchdirettiva.
Adriano Rosa,

6

Per me, il motivo numero 2 (dopo l'opzione UseDNS sul lato server) per gli accessi a sessioni SSH lunghe sono tentativi sul lato client di connettersi tramite IPv6 (che, ovviamente, non è impostato correttamente sulla mia rete o quasi su qualsiasi altra rete, per questo motivo).

Vedi HOWTO: Accelerare l'accesso SSH sui forum Ubuntu.

La "soluzione" è abilitare solo IPv4:

1) per la data chiamata client SSH:

ssh -4 login@hostname

2) o globalmente nella configurazione del client ssh in /etc/ssh/ssh_config:

Host *
   AddressFamily inet

Certo, sarebbe più corretto configurare correttamente IPv6 sulla tua rete, ma chi ha tempo per farlo :)


3

Prova ad aggiungere l'opzione successiva con il tuo comando ssh:

-o "PreferredAuthentications=password"

(questo impedisce a ssh di negoziare qualsiasi altro metodo di autenticazione e accelera il promtp della password!)


2
Perché usare le password? Perché non le chiavi?
TJ Ellis,

1
Semplice: perché potrebbe non essere possibile utilizzare le chiavi! (sshd non configurato per usarli, permessi per i file utente errati, ecc
9

2

Inoltre, digita questo sul computer remoto (come l'utente con il quale accedi) per sopprimere i messaggi MOTD:

touch ~/.hushlogin

Non fa la differenza quanto lo spegnimento, UseDNSma potrebbe aiutare su connessioni più lente.


1
-1: il MOTD viene visualizzato solo dopo un accesso riuscito. Ciò non farà apparire la richiesta della password più veloce.
Asa Ayers,

2
Vero, ma comunque un commento utile.
sebastian_k,

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.