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.

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