Ti ringrazio di tutto. Molto interessante. Ma in pratica, x trasferire il file residente in una directory del server 1 in unadirectory del server 2? ----- Original Message ----- From: Baccanelli Massimo To: linuxtrent@xxxxxxxxxxxxx Cc: Baccanelli Massimo Sent: Thursday, April 07, 2005 12:07 PM Subject: [Linuxtrent] Re: sftp e trasmissione << spero che la ML non mi linci per il testo piuttosto esoso qua sotto >> Ciao, spero tu abbia una minima conoscenza sul protocollo che stai/vuoi utilizzare. Vediamo se con poche righe, quindi meno di 5 ninuti di lettura. riesco ad illuminarti sul suo funzionamento e, nel tuo caso particolare, l'uso dei suoi comandi: ssh, sftp & scp ! Cominciamo con una piccola premessa: SSH sta per Secure Shell ed è un protocollo che permette di stabilire una sessione remota interagendo con un altra macchina e permettendo l'esecuzione di comandi. SSH opera in maniera analoga ad altri protocolli quali telnet ed rlogin ma con l'importante differenza che l'intera comunicazione avviene in maniera criptata. Ne esistono due versioni: SSH1 e SSH2. La versione 2 e' la riscrittura della 1 con garanzia di maggiore sicurezza. 1) SSH - Connessione su host remoto. Cominciamo con lo scordarci dei vecchi comandi: telnet & rlogin . Questo perche', tramite un snoop sulla rete, qualsiasi ... malintenzionato.... puo' vedere qualsiasi cosa ... ... I suddetti 'vecchi' comandi, sempre sulla rete, comunicano in chiaro .. ... non s'ho se mi spiego !!! !!! !!! !!! !!! Esempio pratico: monster:~ fastweb$ id uid=502(fastweb) gid=502(fastweb) groups=502(fastweb) monster:~ fastweb$ monster:~ fastweb$ ssh operator@legolas The authenticity of host 'legolas (10.31.80.59)' can't be established. RSA key fingerprint is 4b:6d:84:cc:08:f5:8c:d1:bd:47:3f:1f:03:89:f7:ae. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'legolas,10.31.80.59' (RSA) to the list of known hosts. operator@legolas's password: <<<====== PASSWORD Last login: Wed Mar 2 17:36:21 2005 from 10-31-2-27.dhcp Sun Microsystems Inc. SunOS 5.8 Generic February 2000 operator@legolas $ In questo caso particolare, l'utente fastweb su host monster, cerca d'accedere all'host legolas come utente operator !!! 2) SFTP - Secure FTP su host remoto: monster:~ fastweb$ sftp operator@legolas Connecting to legolas... operator@legolas's password: <<<====== PASSWORD sftp> pwd Remote working directory: /export/home/operator sftp> ls . .. .Xauthority .bash_history .profile .ssh sftp> bye monster:~ fastweb$ Idem come sopra ... ... con l'unica differenza che piuttosto d'avere una shell sul sistema remoto si limita ad inviare / ricevere file. Vedi il buon vecchio ftp (remember?). 3) SCP - Secure CoPy su host remoto: monster:~ fastweb$ scp test_file.out operator@legolas:/var/tmp operator@legolas's password: <<<====== PASSWORD test_file.out 100% 0 0.0KB/s --:-- ETA monster:~ fastweb$ rm test_file.out monster:~ fastweb$ scp operator@legolas:/var/tmp/test_file.out . operator@legolas's password: <<<====== PASSWORD test_file.out 100% 0 0.0KB/s --:-- ETA monster:~ fastweb$ Comando equivalente al vecchio rcp ( remote copy ). Nei due esempi, sopra riportati, si nota come il senso della comunicazione cambi a seconda dell'esigenza !!! Fin qui', io spero, dovrebbe essere TUTTO chiaro ... ... ... Sempre in chiaro, ... ..., avrai visto che in qualsiasi caso: ssh, sftp o scp, viene richiesta una password !!! La cosa puo' essere aggiarata utilizzando opportunamente le eventuali chiavi ssh generate adhoc ... ... ... ... vediamo come: 3) Come generare ed utilizzare le chiavi SSH: Una chiave SSH e' composta da: copia provata + copia pubblica . L'utilizzo della propia chiave pubblica, su di un host remoto, ci permette di eseguire le operazioni sopra descritte, con tutte le autorizzazioni del caso. Quindi, cosa molto importante, senza alcuna richiesta di password !!! 3a) Generiamo una chiave SSH: monster:~ fastweb$ ssh-keygen -b 2048 -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/Users/fastweb/.ssh/id_dsa): <<<===== INVIO A VUOTO Enter passphrase (empty for no passphrase): <<<===== INVIO A VUOTO Enter same passphrase again: <<<===== INVIO A VUOTO Your identification has been saved in /Users/fastweb/.ssh/id_dsa. Your public key has been saved in /Users/fastweb/.ssh/id_dsa.pub. The key fingerprint is: 61:6d:6d:20:f1:11:9f:17:77:da:39:5b:ad:37:2e:88 fastweb@monster monster:~ fastweb$ 3b) Pubblicazione / copia propia chiave 'pubblica' su host remoto: monster:~ fastweb$ scp /Users/fastweb/.ssh/id_dsa.pub operator@legolas:/export/home/operator/.ssh/authorized_keys operator@legolas's password: id_dsa.pub 100% 1117 5.0MB/s 00:00 monster:~ fastweb$ ATTENZIONE: L'esempio in questione crea exnovo un file di autorizzazioni. Questo vuol dire che puo' SOVVRASCRIVERE un eventuale gia esistente !!! !!! Se siamo sicuri che non ne esista gia uno e' un conto ... altrimenti .. ... ... monster:~ mbaccanelli$ scp /Users/mbaccanelli/.ssh/id_dsa.pub operator@legolas:/export/home/operator/.ssh/mbaccanelli.authorized_keys operator@legolas's password: id_dsa.pub 100% 604 2.4MB/s 00:00 monster:~ mbaccanelli$ monster:~ mbaccanelli$ ssh operator@legolas operator@legolas's password: Last login: Thu Apr 7 11:30:33 2005 from 10-31-2-21.dhcp Sun Microsystems Inc. SunOS 5.8 Generic February 2000 $ cd .ssh $ ls authorized_keys known_hosts mbaccanelli.authorized_keys $ cat mbaccanelli.authorized_keys >> authorized_keys $ Chiaro il concetto ??? Adesso, dopo aver copiato / inserito la propia chiave pubblica, puoi eseguire i vari comandi sopra descritti / citati con un importante differenza ... ... ... !!! NON TI VERRA' PIU' RICHIESTA ALCUNA PASSWORD !!! Esempio pratico: monster:~ fastweb$ id uid=502(fastweb) gid=502(fastweb) groups=502(fastweb) monster:~ fastweb$ ssh operator@legolas Last login: Thu Apr 7 12:01:14 2005 from 10-31-2-21.dhcp Sun Microsystems Inc. SunOS 5.8 Generic February 2000 $ pwd /export/home/operator $ id uid=2501(operator) gid=1(other) $ Visto ??? Nella speranza che ti possa tornare utile ... ... Bye MaX :-) ps. Con google, ed un po' di santa pazienza, puoi trovare degli interessanti, quanto piu' chiari,. HOWTO !!!