Ho già stabilito una connessione ssh tra due macchine.
Esiste un modo per inviare comandi alla macchina remota da uno script di shell eseguito sulla macchina locale, utilizzando la connessione già aperta e senza avviare un'altra sessione ssh?
Risposta accettata:
È molto semplice con versioni abbastanza recenti di OpenSSH se pianifichi in anticipo.
Aprire una connessione master la prima volta. Per le connessioni successive, instradare le connessioni slave attraverso la connessione master esistente. Nel tuo ~/.ssh/config
, imposta la condivisione della connessione in modo che avvenga automaticamente:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Se avvii una sessione ssh sulla stessa (utente, porta, macchina) di una connessione esistente, la seconda sessione verrà trasferita sulla prima. Stabilire la seconda connessione non richiede una nuova autenticazione ed è molto veloce.