[INFN Logo]
Istituto Nazionale di Fisica Nucleare
Sezione di Padova

Sede: Dipartimento di Fisica Galileo Galilei
Via Marzolo 8, 35131 Padova - Italy
Tel +390498277088 Fax +390498277102
English
Version
[Ritratto di Galileo Galilei]
Come raggiungerci
Home > Servizio Calcolo e Reti > Trasferimento file con scp e port forwarding
Trasferimento file con scp e port forwarding

Per migliorare la sicurezza dei nostri sistemi informatici e` stato bloccato l'accesso diretto dall'esterno via ssh ed scp verso le macchine della nostra rete. L'unico accesso consentito e` quello verso la macchina gate.pd.infn.it
Da questa e` poi possibile connettersi alle altre macchine della nostra rete locale.

Per effettuare una sessione interattiva su un computer della nostra rete, il metodo piu` semplice e` connettersi a gate con ssh e poi da li` effettuare una nuova connessione con ssh verso la macchina desiderata, con un aggravio minimo per l'utente.

Se invece e` necessario scambiare files tra una macchina interna alla rete ed una esterna, risulta abbastanza scomodo (o addirittura improponibile per files di grandi dimensioni) fare una copia temporanea su gate.
Esistono pero` due possibilita` per effettuare una copia diretta dei files:

  • Lanciare scp dalla macchina interna
    Questa opzione e` utilizzabile solo se sul computer esterno e` attivo un server ssh (tipicamente deve essere una macchina unix o linux) e se gli amministratori della rete su cui si trova tale macchina consentono la connessione ad essa tramite ssh/scp.
    Per fare questo tentativo basta collegarsi a gate.pd.infn.it e poi alla macchina interna e da li` provare a usare il comando scp per trasferire i files. Se funziona, questo e` il metodo piu` semplice.
  • Usare il port forwarding di ssh
    Se il metodo precedente non e` utilizzabile, esiste una ulteriore possibilita` per effettuare il trasferimento di files senza necessita` di copie intermedie. Il metodo consiste nell'usare una opzione di ssh che consente di redirigere una porta del computer esterno verso il computer interno col quale si vogliono scambiare files, passando pero` attraverso gate. La procedura da seguire e` questa:

    1. Se il computer esterno ha un sistema unix/linux, allora da una finestra terminale si da` il comando:

      ssh -L port:host.pd.infn.it:22 user@gate.pd.infn.it

      dove port e` un numero scelto a piacere purche` compreso tra 1025 e 65535, host e` il computer interno con il quale si vogliono scambiare i files e user e` il nome dell'account di gate che si vuole utilizzare.
      Con questo comando si redireziona la porta locale port verso la porta 22 (ssh) di host.pd.infn.it. Puo` capitare che la porta locale sia gia` utilizzata da altre applicazioni e di conseguenza si ottenga un messaggio di errore tipo "port already in use": in tal caso basta provare con un'altra porta.

      La stessa operazione si puo` effettuare se il computer ha un sistema windows su cui e` installato win32ssh: si attiva il programma e poi si va in:
      Edit -> Settings -> Profile Settings -> tunneling
      e si aggiunge un "Outgoing tunnel" cliccando su "Add".
      Va specificata la listen port locale (il numero tra 1025 e 65535), l'host di pd.infn.it col quale si vogliono scambiare files e la destination port (che deve essere 22).
      Poi si apre una connessione terminale con gate per attivare il tunnel.

    2. A questo punto e` possibile scambiare i files direttamente tra il computer esterno e quello interno alla nostra rete usando un client scp sul computer esterno con l'avvertenza di collegarsi a localhost sulla porta prescelta e non direttamente al computer interno (N.B.: bisogna usare letteralmente la parola "localhost").
      Se il computer esterno ha un sistema unix/linux, allora da un'altra finestra terminale si da` il comando:

      scp -P port -oNoHostAuthenticationForLocalhost=yes user@localhost:path1 path2

      oppure:

      scp -P port -oNoHostAuthenticationForLocalhost=yes path1 user@localhost:path2

      a seconda che si voglia effettuare un trasferimento dal computer interno a quello esterno o viceversa.
      port e` la porta scelta in precedenza, user e` il nome dell'account sul computer interno, path1 e` il percorso del file da copiare e path2 e` quello di destinazione.

      L'opzione NoHostAuthenticationForLocalhost serve per evitare di salvare la chiave dell'host interno col nome di localhost, in modo da non ricevere messaggi di errore se si dovesse ripetere questa procedura verso un computer interno diverso.
      Questa opzione va omessa se si utilizza il vecchio protocollo ssh1

      Se il computer esterno ha un sistema windows, si lancia il programma "SSH Secure File Transfer Client" e ci si connette a localhost specificando lo user del computer interno a cui ci si vuol connettere e la port scelta in precedenza.
      Alla domanda se salvare la chiave dell'host nel database locale conviene rispondere "NO" per quanto spiegato prima.
      A questo punto si e` collegati al computer interno e si possono scambiare files tramite l'interfaccia grafica.
Vecchia Home Page - Tech Info - Disclaimer - Webmaster
Ultimo aggiornamento: 18 ottobre 2005
ricerca con google
in tutto il web su infn.it
in tutte le lingue in italiano
servizi web
- Webmail
- SSH Applet
- Calendario attività
- Calendario seminari
- Calendario aule
- Portale INFN

Elenco telefonico interno

Numeri Utili
Fax - Laboratori
Elenco telefonico
Università di Padova


INFN whois