[Linuxtrent] Re: sftp e trasmissione

  • From: "Matteo T" <skynetmt83@xxxxxxxxxxx>
  • To: <linuxtrent@xxxxxxxxxxxxx>
  • Date: Thu, 7 Apr 2005 12:27:22 +0200

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 !!!

Other related posts: