lunedì 24 gennaio 2011

Secure copy, scp

Il comando scp è la versione di rete del comando locale cp, per la copia dei file. Con scp possiamo copiare uno o più file da un host locale (oppure remoto) a un host remoto, scp usa ssh per l'autenticazione e il trasferimento dei dati.
La sintassi prevista dal comando è la seguente: scp opzioni user@host1:file_sorgente user@host2:file_destinazione. Se il file sorgente è locale al file system del computer in uso possiamo allora omettere il nome utente (parametro user) e l'host di rete (parametro host1).
Se il file da copiare si trova invece presso un host remoto dobbiamo allora necessariamente specificare il nome utente e l'host di rete, sia per il file sorgente che per quello di destinazione. Se il file sorgente è locale possiamo inoltre referenziare lo stesso all'interno del comando con un path assoluto o relativo (alla directory di lavoro).
Attenzione, così come avviene per ssh, durante la prima connessione remota è necessario generare una chiave RSA per l'autenticazione fra i due host coinvolti nel processo di copia. Solo successivamente, quindi, il comando chiederà la password per l'accesso all'host remoto. Alcune utili opzioni sono:
  • -C: abilita la compressione su ssh;
  • -P porta: permette di specificare il numero di porta da usare per il processo di copia (corrisponde al numero di porta usato di default da ssh);
  • -r: copia, ricorsivamente, il contenuto di una direcotry seguendo, eventualmente, i link simbolici presenti nel file (una directory è un particolare file) sorgente;
  • -l velocità: limita il trasferimento dei file a una velocità massima (espressa in Kbit/s);
  • -v: abilita la modalità verbose per il debugging dei messaggi e lo stato di avanzamento del processo di copia;
L'uso di questo comando presuppone, oltre all'account sull'host remoto (sia per il file sorgente che per quello di destinazione), la conoscenza della struttura del file system su cui si interviene in fase di lettura e di scrittura. Ricordate, l'account usato per il processo di copia potrebbe non avere i permessi necessari all'accesso in lettura e/o scrittura di file! Se vi occorre l'indirizzo IP di un host remoto provate a filtrarne il valore (se il computer è lì vicino) con il comando ifconfig | grep "inet addr" (solitamente l'output ritorna due indirizzi IPv4, l'indirizzo di loopback 127.0.0.1 e l'indirizzo IP dell'host).

Nessun commento:

Posta un commento