Ricerca nel sito web

4 modi per velocizzare le connessioni SSH in Linux


SSH è il metodo più popolare e sicuro per la gestione remota dei server Linux. Una delle sfide legate alla gestione dei server remoti è la velocità di connessione, soprattutto quando si tratta di creare sessioni tra le macchine remote e locali.

Esistono diversi colli di bottiglia in questo processo, uno scenario è quando ci si connette a un server remoto per la prima volta; normalmente sono necessari alcuni secondi per stabilire una sessione. Tuttavia, quando si tenta di avviare più connessioni in successione, ciò provoca un sovraccarico (combinazione di tempo di calcolo in eccesso o indiretto, memoria, larghezza di banda o altre risorse correlate per eseguire l'operazione).

In questo articolo condivideremo quattro suggerimenti utili su come velocizzare le connessioni SSH remote in Linux.

1. Forza la connessione SSH su IPV4

OpenSSH supporta sia IPv4/IP6, ma a volte le connessioni IPv6 tendono ad essere più lente. Quindi puoi considerare di forzare le connessioni ssh solo su IPv4, utilizzando la sintassi seguente:

ssh -4 [email 

In alternativa, utilizza la direttiva AddressFamily (specifica la famiglia di indirizzi da utilizzare durante la connessione) nel file di configurazione ssh /etc/ssh/ssh_config (configurazione globale) o ~ /.ssh/config (file specifico dell'utente).

I valori accettati sono “any”, “inet” solo per IPv4 o “inet6”.

vi ~.ssh/config 

Ecco un'utile guida introduttiva sulla configurazione del file di configurazione ssh specifico dell'utente:

  1. Come configurare connessioni SSH personalizzate per semplificare l'accesso remoto

Inoltre, sul computer remoto, puoi anche istruire il demone sshd a considerare le connessioni su IPv4 utilizzando la direttiva precedente nel file /etc/ssh/sshd_config.

2. Disabilita ricerca DNS sul computer remoto

Per impostazione predefinita, il demone sshd cerca il nome host remoto e controlla anche che il nome host risolto per l'indirizzo IP remoto corrisponda allo stesso indirizzo IP. Ciò può comportare ritardi nella creazione della connessione o nella creazione della sessione.

La direttiva UseDNS controlla la funzionalità di cui sopra; per disabilitarlo, cercalo e decommentalo nel file /etc/ssh/sshd_config. Se non è impostato, aggiungilo con il valore no.

UseDNS  no

3. Riutilizzare la connessione SSH

Un programma client ssh viene utilizzato per stabilire connessioni a un demone sshd che accetta connessioni remote. Puoi riutilizzare una connessione già stabilita quando crei una nuova sessione ssh e questo può velocizzare notevolmente le sessioni successive.

Puoi abilitarlo nel tuo file ~/.ssh/config.

Host *
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist 600

La configurazione precedente (Host *) consentirà il riutilizzo della connessione per tutti i server remoti a cui ti connetti utilizzando queste direttive:

  • ControlMaster: consente la condivisione di più sessioni su un'unica connessione di rete.
  • ControlPath: definisce un percorso per il socket di controllo utilizzato per la condivisione della connessione.
  • ControlPersist: se utilizzato insieme a ControlMaster, indica a ssh di mantenere aperta la connessione master in background (in attesa di future connessioni client) una volta che la connessione client iniziale è stata chiusa.

Puoi abilitarlo per le connessioni a un server remoto specifico, ad esempio:

Host server1
	HostName   www.example.com
	IdentityFile  ~/.ssh/webserver.pem
      	User username_here
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist  600

In questo modo soffrirai solo il sovraccarico di connessione per la prima connessione, e tutte le connessioni successive saranno molto più veloci.

4. Utilizzare il metodo di autenticazione SSH specifico

Un altro modo per velocizzare le connessioni ssh è utilizzare un determinato metodo di autenticazione per tutte le connessioni ssh, e qui consigliamo di configurare l'accesso senza password ssh utilizzando ssh keygen in 5 semplici passaggi.

Una volta fatto ciò, utilizza la direttiva PreferredAuthentications, all'interno dei file ssh_config (globali o specifici dell'utente) sopra. Questa direttiva definisce l'ordine in cui il client dovrebbe provare i metodi di autenticazione (è possibile specificare un elenco separato da comandi per utilizzare più di un metodo).

PreferredAuthentications=publickey 

Facoltativamente, utilizzare la sintassi seguente dalla riga di comando.

ssh -o "PreferredAuthentications=publickey" [email 

Se preferisci l'autenticazione tramite password ritenuta non sicura, utilizzala.

ssh -o "PreferredAuthentications=password" [email 

Infine, devi riavviare il demone sshd dopo aver apportato tutte le modifiche di cui sopra.

systemctl restart sshd	#Systemd
service sshd restart 		#SysVInit

Per ulteriori informazioni sulle direttive utilizzate qui, vedere le pagine man ssh_config e sshd_config.

man ssh_config
man sshd_config 

Dai un'occhiata anche a queste utili guide per proteggere ssh sui sistemi Linux:

  1. 5 migliori pratiche per proteggere e proteggere il server SSH
  2. Come disconnettere connessioni SSH inattive o inattive in Linux

È tutto per ora! Hai qualche suggerimento/trucco per velocizzare le connessioni SSH. Ci piacerebbe conoscere altri modi per farlo. Utilizza il modulo commenti qui sotto per condividere con noi.