C'è un modo per mantenere aperta l'autenticazione ssh per diversi comandi scp?


2

Devo copiare diversi file di piccole dimensioni da una macchina remota a una locale. Devo farlo più volte al giorno. Attualmente, uso uno script che usa scp per copiare i file. Tuttavia, questo è lento come ogni volta, devo autenticarmi. C'è un modo, oltre al montaggio, di eseguire un'autenticazione e mantenerla in vita fino al termine della copia?


perché non copiare i singoli file in una cartella, comprimerli e inviarli in una volta sola?
Jay,

Sono sparsi su più cartelle in un cluster di calcolo su cui non desidero eseguire lo script. Immagino che questa sia un'opzione da considerare però.
Yotam,

Risposte:


1

Basta usare la funzione ControlMaster di SSH. A tale scopo ho inserito un'opzione globale:

Host *
    ControlPath ~<user>/.ssh/ctrl-%r-%h-%p

Nel mio .ssh / config. Ovviamente è necessario sostituire di <user>conseguenza con il nome di accesso.

Ogni volta che voglio impostare una connessione principale iniziale aggiungo '-M':

ssh -M <machine>

Questo crea un socket di controllo con un nome file specificato sopra. Qualsiasi chiamata successiva al targeting ssh / scp che <machine>riutilizzerà la connessione principale esistente. Accelerare drasticamente il processo di connessione perché non è necessaria alcuna ulteriore autenticazione per il tempo in cui esiste la connessione di controllo (== master). Come piacevole effetto collaterale non è necessario reinserire la passphrase dopo averla fornita per stabilire la connessione principale.


0

È possibile utilizzare ssh-add per aggiungere chiavi private al proprio agente di autenticazione ssh. Vedere

man ssh-add

e

man ssh-agent
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.