Pagine

venerdì 5 dicembre 2008

SSH Client e Server

Premessa

OpenSSH è un protocollo sicuro e criptato che permette di collegarci da un pc (assumendo il ruolo di client) ad una macchina remota (denominata server). Il server ci fornirà una risposta richiedendo una userid e password di accesso. Una volta passato il controllo ci inverà una shell nella quale eseguire comandi sulla macchina remota.
Il protocollo, quindi, mette in comunicazione il client (anche detto host) con il server tramite una shell.

Scenario lavorativo

Il classico scenario possibile è la necessità di amministrare uno o più server con la comodità di non doverci alzare dalla propria postazione lavorativa.
Supponiamo che nella azienda in cui lavoro siano attivi diversi servizi (per esempio di database (es mysql ) o proxy (es squid) o webserver (es apache)) in esecuzione su una o più macchine diverse presenti in sala macchine. Supponiamo, inoltre, di dover amministrare tali servizi e le macchine sulle quali girano. Ci toccherà, ogni volta che c'è un problema o aggiornamento, alzarci dalla nostra scrivania ed andare davanti alla macchina per effettuare le dovute modifiche. Tramite ssh, invece, possiamo lavorare dalla nostra postazione direttamente sul server come se ci fossimo davanti.
Analogamente tramite il protocollo sftp integrato in ssh è possibile copiare dei files sul server interessato in maniera del tutto sicura e trasparente.

Scenario casalingo

Un altro possibile scenario è la necessità, quando ci si trova sul posto di lavoro, di poter accedere al proprio computer casalingo che, in questa configurazione, lavorerà come server.
Questo può essere necessario (è il motivo per cui uso ssh quotidianamente) per trasferire files a/da il proprio PC (magari per effettuare dei backup dei propri files) oppure per lanciare o stoppare servizi o ancora per modificare i file da scaricare con emule ;-)

La soluzione: ssh

Per risolvere questo problema è possibile ottenere una shell remota dal server e lavorare su una finestra del proprio PC (come in figura) come se si fosse davanti al server. Il collegamento, ci tengo a ribadirlo, viaggia su protocollo sicuro e quindi nulla potrà essere carpito da persone con cattive intenzioni.
In questo scenario bisogna aver installato ssh server sul server e ssh client sul host.

Se si utilizza debian o ubuntu, per installare il server e client si può procedere come segue:

# sudo apt-get install openssh-server openssh-client

Una volta avviato il server ssh, si può passare al proprio PC.
Se si usa linux basta avviare una shell e digitare:

# ssh nomeutente@nomeserver


oppure

# ssh nomeutente@ipserver


nel caso in cui non ci sia un DNS attivo.

Se si utilizza windows, al contrario, si può usare come client il programma putty.
Putty è un programmino opensource che può essere usato per connessioni ssh su un server che supporta questo protocollo.

Nessun commento:

Posta un commento