8.3. Connessioni remote
Indietro | Capitolo 8. Altri comandi utili | Avanti

## 8.3. Connessioni remote

Tabella 8.3. Comandi per connessioni remote

Comando/Sintassi | Cosa fa
--- | ---
`finger [`opzioni`] `user`[@`nomehost`]` | riporta informazioni sugli utenti delle macchine locali e remote
`ftp [`opzioni`] `host`` | trasferisce file utilizzando il protocollo di trasferimento di file
`rcp [`opzioni`] `nomehost`` | copia file in remoto dalla macchina corrente in un'altra macchina
`rlogin [`opzioni`] `nomehost`` | effettua il login in remoto su un'altra macchina
`rsh [`opzioni`] `nomehost`` | shell remota da eseguire su un'altra macchina
`telnet [`host` [`porta`]]` | comunica con un altro host utilizzando il protocollo telnet

### 8.3.1. TELNET e FTP - protocollo di login remoto e di trasferimento di file

TELNET e FTP sono protocolli del livello applicazione di Internet. Le specifiche dei protocolli FTP e TELNET sono state realizzate da molte organizzazioni, incluso il Centro Nazionale per le Applicazioni di Supercomputer (NCSA), molti altri domini pubblici e organizzazioni collaborative.

I programmi che implementano il protocollo TELNET sono usualmente chiamati telnet, ma non sempre. Alcune notevoli eccezioni sono `tn3270`, `WinQVT` e `QWS3271`, che implementano comunque il protocollo TELNET. TELNET viene usato per effettuare il login remoto su un altro computer in Internet.

I programmi che implementano il protocollo FTP sono usualmente chiamati ftp, ma esistono anche delle eccezioni. Il programma chiamato `Fetch`, distribuito dalla Dartmouth College, `WS_FTP`, scritto e distribuito da John Junod e `Ftptool`, scritto da Mike Sullivan, sono implementazioni del protocollo FTP con un'interfaccia utente grafica. Esiste una versione migliore di FTP, `ncftp` che ha caratteristiche aggiuntive, scritto da Mike Gleason. Comunque, l'implementazione del protocollo FTP viene spesso inclusa nei programmi che implementano TELNET, come quello distribuito dalla NCSA. FTP viene usato per trasferire file tra computer su Internet.

rlogin(1) è un servizio di login remoto che è stato in passato un'esclusiva dello Unix BSD 4.3 di Berkeley. Essenzialmente, offre le stesse funzionalità di telnet(1), eccetto che rlogin(1) lascia passare al computer remoto le informazioni dell'ambiente di login dell'utente. Le macchine possono essere configurate per permettere connessioni da fidati host senza richiedere la password dell'utente. Una versione più sicura di questo protocollo è la Sicura SHell SSH, software scritto da Tatu Ylonen e disponibile via: `ftp://ftp.net.ohio-state.edu/pub/security/ssh`.

Da un prompt Unix, questi programmi possono essere invocati digitando il comando (nome del comando) e il nome (Internet) della macchina remota alla quale ci si vuole connettere. Inoltre si possono specificare diverse opzioni per questi comandi, come mostrato di seguito.

Sintassi

`telnet [`opzioni`] [`host_remoto` [`porta`]]`

`tn3270 [`opzioni`] [`host_remoto` [`porta`]]`

`ftp [`opzioni`] [`host_remoto`]`

Opzioni generali

ftp | telnet | Azione
--- | --- | ---
`-d` |  | abilità la modalità di debugging
| `-d` | come sopra (solamente SVR4)
`-i` |  | disabilita il prompt interattivo
`-n` |  | non tenta un auto-login su una connessione
`-v` |  | modalità verbose
| `-l `user`` | si connette all'host remoto con il nome utente specificato (solamente SVR4)
| `-8` | percorso dati 8-bit (solamente SVR4)

telnet(1) e `tn3270` hanno un'opzione per specificare il numero di porta a cui connettersi sull'host remoto. Per entrambi i comandi, il numero di porta di default è 23, la porta telnet. Altre porte vengono usate per il debugging dei servizi di rete e per ragioni speciali.

Esempi:

`%` `telnet oscar.us.ohio-state.edu`
`%` `tn3270 ohstmvsa.acs.ohio-state.edu`
`%` `ftp magnus.acs.ohio-state.edu`

La macchina remota richiederà di identificarsi tramite login e password. Spesso, le macchine organizzate come archivi di software o di informazioni, permettono connessioni ftp anonime. Ci si collega tramite ftp(1) alla macchina remota e si effettua il login come `anonymous` (il login `ftp` è equivalente su molte macchine) cioè, quando viene richiesto il login si digita `anonymous` (di solito per la password si inserisce il proprio indirizzo email o qualsiasi altra cosa).

Una volta che si è correttamente collegati a un computer remoto tramite telnet(1) e rlogin(1) (e assumendo che sia stata assegnata l'emulazione del terminale) si potrà utilizzare la macchina come al solito.

Una volta che si è correttamente collegati ad un computer remoto tramite ftp(1), si può trasferire un file in quel computer con il comando `put` o prenderlo da quel computer con il comando `get`. La sintassi è la seguente:

`put `nome-file-locale nome-file-remoto``

`get `nome-file-locale nome-file-remoto``

Sono disponibili altri comandi per ftp(1), a seconda della specifica implementazione dell'FTP locale e remoto. Il comando `help` visualizza un elenco di comandi disponibili. Il comando `help` può visualizzare lo scopo di un comando specifico. Esempi di validi comandi sono mostrati di seguito:

`help` | mostra un elenco di comandi disponibili
`help mget` | mostra lo scopo del comando `mget` (prendere file multipli)
`pwd` | mostra la corrente directory di lavoro
`ls` o `dir` | elenca il contenuto delle directory
`cd` | cambia directory
`lcd` | cambia la directory locale
`open` | specifica la macchina alla quale si vuole connettersi
`user` | specifica il proprio id di login (nel caso che non venga richiesto direttamente)
`quit` | esce dal programma FTP

### 8.3.2. finger - restituisce informazioni riguardo gli utenti

Il comando finger(1) mostra il file `.plan` di un utente specifico o riporta chi è attualmente «loggato» su una specifica macchina. L'utente deve permettere i permessi di lettura generale sul file `.plan`.

Sintassi

`finger [`opzioni`] [`user`[@`nomehost`]]`

Opzioni generali

`-l` | forza il formato lungo di output
`-m` | ottiene solo lo username, non il nome e cognome reali
`-s` | forza il formato corto di output

Esempi:

brigadier:condron [77]> `finger workshop@nyssa` Questo è un esempio di file .plan per l'id workshop di nyssa. Questo id è stato usato in questa settimana da Frank Fiamingo, Linda DeBula, e Linda Condron, mentre insegnavano ad usare una nuova versione di Unix workshop sviluppata per l'UTS. Sperando di aver insegnato qualcosa. Frank, Linda, & Linda
brigadier: condron [77]> `finger` Login Name TTY Idle When Where condron Linda S Condron p0 Sun 18:13 lcondron-mac.acs frank Frank G. Fiamingo p1 Mon 16:19 nyssa

### 8.3.3. Comandi remoti

Alcune macchine Unix possono essere collegate tra loro per formare una rete locale (LAN). In questo caso succede spesso che un utente di una macchina possieda validi accessi di login su molte altre macchine della rete locale. Per questo tipo di utente sono disponibili comandi Unix che forniscono una certa praticità nel realizzare certe operazioni comuni. Poichè questi comandi si focalizzano su comunicazioni con host remoti nella rete locale (o in Internet), i nomi dei comandi iniziano con la lettera r: rlogin(1), rsh(1) e rcp(1). La possibilità di accesso remoto tramite questi comandi è sostenuta (opzionalmente) attraverso il file `~/.rhosts` di ogni singolo utente e dal file generale di sistema `/etc/hosts.equiv`. Per ragioni di sicurezza questi possono essere limitati ad alcuni host.

Il comando rlogin(1) permette un accesso di login remoto su un altro host della rete locale. rlogin(1) passa informazioni all'host remoto circa l'ambiente locale, incluso il valore della variabile d'ambiente `TERM`.

Il comando rsh(1) fornisce la possibilità di invocare una shell Unix su un host remoto della rete locale con lo scopo di eseguirci comandi di shell. Questa capacità è simile alla funzione shell escape disponibile generalmente all'interno di un software di sistema Unix come editor ed email.

Il comando rcp(1) fornisce la possibilità di copiare file dall'host locale ad un host remoto della rete locale.

Sintassi

`rlogin [-l `username`] `host_remoto``

`rsh [-l `username`] `host_remoto` [`comando`]`

`rcp [[`user1`]@`host1`:]`file_sorgente` [[`user2`]@`host2`:]`file_destinazione``

dove le parti tra parentesi ([]) sono opzionali. rcp(1) non richiede password, quindi si deve avere il permesso per eseguire comandi remoti su una specifica macchina.

Opzioni generali

`-l `username`` | si connette all' host remoto con il nome utente specificato (rlogin(1) & rsh(1))

Il file `.rhosts`, se esiste nella directory home dell'utente sull'host remoto, permette l'accesso tramite rlogin(1), rsh(1) e rcp(1) agli host remoti senza richiedere la password per tale account. Il file `.rhosts` contiene un record per ogni coppia host remoto-username con il quale il proprietario del file `.rhosts` desidera connettersi. Ogni record nel file `.rhosts` è della forma:

`host_remoto utente_remoto`

dove l'elenco ``utente_remoto`` è opzionale. Per esempio, se Heather Jones vuole essere in grado di connettersi alla `macchina1` (dove il suo username è `heather`) dalla `macchina2` (dove il suo username è `jones`) o dalla `macchina3` (dove il suo username è `heather`, lo stesso della `macchina1`), lei potrebbe creare un file `.rhosts` nella sua home directory sulla `macchina1`. Il contenuto di questo file potrebbe essere:

macchina2 jones macchina3 -oppure- macchina2 jones macchina3 heather

Su alcuni sistemi il file `/etc/hosts.equiv` presta lo stesso scopo per tutti gli utenti, al di fuori del super-user. Così un file `/etc/hosts.equiv` contenente:

`macchina_remota`

permette agli utenti provenienti da ``macchina_remota`` che hanno gli stessi username della macchina corrente, di connettersi a quest'ultima senza la necessita' di inserire la password.

Un file `/etc/hosts.equiv` che contiene:

`macchina_remota utente_remoto`

permette a ``utente_remoto`` su ``macchina_remota`` di connettersi alla macchina corrente allo stesso modo dell'utente locale, tranne che per il super-user.

I file `/etc/hosts.equiv` e `~/.rhosts` vanno usati con cautela.

Le versioni dei programmi rcp(1), rsh(1) e rlogin(1) basati sulla Secure SHell (SSH) sono liberamente disponibili e forniscono molta più sicurezza.

Indietro | Risali | Avanti
8.2. Archiviazione, compressione e conversione di file | Partenza | Capitolo 9. Programmazione di shell

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.