Riutilizzo delle connessioni nelle sessioni Secure Shell

Il riutilizzo delle connessioni consente l'aggiunta di ulteriori sessioni Secure Shell a una connessione Secure Shell già stabilita. Una semplice analogia di ciò è data dai cavi a fibre ottiche, nei quali l'involucro esterno rappresenta la connessione attraverso cui passano i vari fili a fibre ottiche (sessioni e tunnel). Le sessioni aggiuntive possono essere nuove sessioni del terminale, nuove sessioni di trasferimento di file SFTP di, connessioni X11 inoltrate, una comunicazione configurata per l'inoltro porta attraverso il tunnel SSH o una connessione stabilita mediante l'uso di una delle utilità della riga di comando di Secure Shell.

Quando viene riutilizzata una connessione Secure Shell stabilita, non occorre ripetere la procedura di autenticazione. La nuova sessione utilizza sempre tutte le impostazioni di Secure Shell configurate per la connessione iniziale. Le eventuali differenze nei metodi di autenticazione, impostazioni di crittografia o MAC o definizioni dell'inoltro porta vengono ignorate.

Per impostazione predefinita, il riutilizzo delle connessioni viene attivato per tutte le connessioni Secure Shell dall'interfaccia utente. Per disattivare questa funzione, deselezionare la casella di controllo Reuse existing connection if available (Riutilizza connessione esistente, se disponibile) nella scheda Generale della finestra di dialogo Impostazioni Secure Shell.

Dopo avere stabilito una connessione con la funzione Reuse existing connection if available (Riutilizza connessione esistente), se disponibile attivata, le sessioni Secure Shell successive riutilizzano la connessione stabilita se tutte le seguenti condizioni sono vere:

  • Il nome dell'host nella nuova sessione deve corrispondere esattamente al nome dell'host della connessione stabilita.

  • Il nome utente nella nuova sessione deve corrispondere esattamente al nome utente della connessione stabilita.

  • Il numero di porta della nuova sessione deve corrispondere esattamente al numero di porta della connessione stabilita (questa condizione è vera per impostazione predefinita).

  • Se la sessione originale è configurata in modo da utilizzare uno schema di configurazione di SSH diverso dal nome dell'host, la nuova sessione deve essere configurata in modo da utilizzare lo stesso schema.

NOTA:Se si utilizzano utilità della riga di comando per effettuare connessioni SSH, il riutilizzo delle connessioni esistenti è subordinato al rispetto di ulteriori condizioni, descritte di seguito.

Riutilizzo delle connessioni nelle sessioni della riga di comando

Il riutilizzo delle connessioni si rivela utile nelle operazioni eseguite dalla riga di comando in cui sono richieste connessioni Secure Shell, in cui sono necessarie numerose operazioni di entità minore tra client e singolo server e in cui l'intervallo di autenticazione e scambio delle chiavi rappresenta una parte significativa del tempo di connessione totale. È il caso, ad esempio, del trasferimento di diversi piccoli file o dell'esecuzione di semplici comandi di sistema che non determinano la restituzione di output di grosse dimensioni. In questi casi, può essere utile creare la connessione SSH originale con l'utilità della riga di comando ssh (o ssh2), quindi riutilizzare la connessione per le successive operazioni eseguite con l'utilità della riga di comando.

Per impostazione predefinita, il riutilizzo delle connessioni è disattivato per le utilità della riga di comando del client Secure Shell: ssh, scp, sftp, scp2 e sftp2. Per attivare il riutilizzo delle connessioni con una di queste utilità, è necessario utilizzare uno dei seguenti metodi.

  • Aggiungere l'opzione "-o ConnectionReuse=yes" a ciascuna riga di comando. Utilizzare questa opzione quando viene stabilita la connessione iniziale e in tutte le successive righe di comando che devono riutilizzare la connessione iniziale. Ad esempio, con i seguenti comandi la connessione sftp riutilizza la connessione stabilita mediante il comando ssh.

    ssh "-o connectionReuse=yes" myuser@myhost
    sftp "-o connectionReuse=yes" myuser@myhost
  • Nella finestra di comando di DOS (o all'inizio di un file di script batch), impostare la variabile d'ambiente SSHConnectionReUse come segue:

    set SSHConnectionReUse=yes

Se sono presenti impostazioni conflittuali, la priorità viene data all'opzione -o.

NOTA:

  • I server OpenSSH supportano un parametro MaxStartups che può essere utilizzato per limitare il numero di sessioni non autenticate contemporanee. Questa impostazione determina il numero di sessioni di che è possibile stabilire in grado di riutilizzare una connessione esistente. Quando viene raggiunto il numero massimo di sessioni specificato nel parametro MaxStartups, tutte le sessioni successive richiedono una connessione SSH a parte con autenticazione. Contattare l'amministratore del server ssh se occorre stabilire più sessioni non autenticate contemporanee di quelle attualmente consentite.

  • Le utilità della riga di comando non possono essere configurate per il riutilizzo della connessione nel file di configurazione di Secure Shell. La parola chiave ConnectionReuse di questo file viene sempre ignorata dalle utilità della riga di comando di Secure Shell, anche quando l'opzione -H viene utilizzata per specificare uno Schema di configurazione di SSH contenente questa impostazione