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.