OpenSSH

Da Wikipedia, l'enciclopedia libera.
OpenSSH
Sviluppatore The OpenBSD Project
Ultima versione 6.6 [1] (16 marzo 2014; 6 mesi fa)
Sistema operativo Multipiattaforma
Linguaggio
Genere Accesso remoto
Crittografia
Licenza Licenza BSD
(Licenza libera)
Sito web www.openssh.com

OpenSSH (Open Secure Shell) è un insieme di programmi che rendono disponibili sessioni crittografate di comunicazione in una rete di computer usando il protocollo SSH. È stato creato come alternativa opensource al software proprietario Secure Shell. Il progetto è guidato da Theo de Raadt.

Storia[modifica | modifica wikitesto]

OpenSSH è stato creato dal team di OpenBSD come alternativa al software originario SSH di Tatu Ylönen, che ora è distribuito con licenza proprietaria. Gli sviluppatori di OpenSSH dichiarano che il loro prodotto sia più sicuro dell'originale, sia per la loro politica di produrre codice pulito e controllato, sia per il fatto, a cui la parole Open nel nome si riferisce, che è rilasciata sotto la licenza open source BSD. Sebbene il codice sorgente dell'originale SSH sia disponibile, le varie restrizioni che sono imposte sul suo uso e distribuzione fanno di OpenSSH un progetto molto più attraente per molti sviluppatori software.

OpenSSH è stato rilasciato la prima volta all'interno di OpenBSD 2.6. L'ultima versione, 5.9, è stata rilasciata il 6 settembre 2011.

Marchio Registrato[modifica | modifica wikitesto]

Nel febbraio 2001, Tatu Ylönen, Chairman e CTO della SSH Communications Security comunicò alla mailing list degli sviluppatori di OpenSSH, openssh-unix-dev@mindrot.org, che la sua azienda avrebbe fatto rivalsa sulla proprietà dei marchi registrati di SSH e Secure Shell per proteggerli[2]. Tatu inoltre chiese di modificare i riferimenti al protocollo in favore di SecSH o secsh, al fine di mantenere il controllo sui nomi. Infine, propose a OpenSSH di cambiare il proprio nome per evitare una citazione in giudizio; Theo de Raadt rifiutò categoricamente di considerare la possibilità di un cambio di nome.

In quel periodo, "SSH", "Secure Shell" e "ssh" erano termini usati nei documenti che proponevano il protocollo come standard aperto, ed era ipotizzato da molti che così facendo Tatu stesse cedendo ogni diritto di esclusiva su di essi, usati come mezzo per descrivere il protocollo. Questo perché negli Stati Uniti è necessario che i marchi registrati siano sempre usati in forma di aggettivo, mai di nome o verbo. Con un uso improprio di un marchio registrato, o permettendo ad altri di usare un marchio registrato non correttamente, si ha la riduzione del marchio stesso a termine generico, come per esempio Kleenex o Aspirina; cosa che apre l'utilizzazione del marchio a terzi, attraverso il pubblico dominio[3].

Nella discussione del contenzioso, ci si chiese se fosse il nome "ssh" ad essere registrabile, oppure solamente il logo formato dalle lettere minuscole "ssh"; inoltre pareva quantomeno strano che fossero trascorsi ben 6 anni tra la creazione dell'azienda di Ylönen e il momento in cui cominciò a rivendicare diritti sul marchio registrato, a sfavore di alternative libere come OpenSSH; e che solo OpenSSH ricevesse minacce di ripercussioni legali per la propria opera[4].

Sia gli sviluppatori di OpenSSH che lo stesso Ylönen erano membri del working group IETF sul nuovo standard; gruppo di lavoro che, dopo diverse sedute, respinse la richiesta di Ylönen di rinominare il protocollo, esprimendo la propria preoccupazione per il pericolo di creare cattivi precedenti a favore di altre acquisizioni di marchi registrati contro l'IETF. I partecipanti al working group decisero che sia Secure Shell che SSH erano termini generici e che non potevano essere marchi registrati[5].

Portabilità[modifica | modifica wikitesto]

Poiché OpenSSH deve supportare l'autenticazione, una funzione che ha svariate implementazioni nei diversi sistemi operativi, necessita di una infrastruttura per la portabilità. Piuttosto che includerla direttamente all'interno di OpenBSD o OpenSSH, viene sviluppata separatamente come sotto progetto dal OpenSSH Portability Team, e rilasciata come "portable releases". Questo modello viene utilizzato anche per altri progetti BSD come OpenNTPD.

Programmi inclusi[modifica | modifica wikitesto]

La suite OpenSSH include le seguenti utilità:

ssh nomeutente@example.com
scp nomeutente@example.com:~/somefile .
sftp nomeutente@example.com
sshd

Autenticazione[modifica | modifica wikitesto]

Il server OpenSSH può autenticare gli utenti attraverso i seguenti sistemi in esso contenuti:

Chiave pubblica[modifica | modifica wikitesto]

Il metodo a chiave pubblica si basa sulla crittografia asimmetrica. Per utilizzarlo l'utente genera una coppia di chiavi. La chiave pubblica è copiata sul server, tipicamente in un apposito file nella home directory dell'utente; la chiave privata deve essere conservata dall'utente, ed è bene che sia protetta con una parola chiave (passphrase).

Per poter creare la coppia di chiavi basta lanciare il comando: ssh-keygen -t [tipo di chiave]

dove il tipo di chiave può essere a scelta tra "rsa" (sia per le versioni 1 e 2 di ssh) e "dsa" (solo per la versione 2 di ssh)

Il comando vi chiederà in che cartella salvare le due chiavi, quella pubblica avrà l'estensione .pub e poi vi chiederà una passphrase possibilmente lunga.

Nella fase di accesso, il client ssh prova al server di essere in possesso della chiave privata, e in caso di successo viene consentito l'accesso. In questo modo, all'utente non è richiesto di fornire la propria password ad ogni connessione.

Un modo per semplificare l'accesso senza chiedervi la passphrase è quella di delegare ad un agente l'uso di questa tramite il comando ssh-add.


Inoltre, OpenSSH può spesso fare uso di metodi di autenticazione aggiuntivi disponibili nel sistema operativo in cui viene installato. Questi includono il sistema di autenticazione proprio di BSD (bsd_auth) oppure PAM per abilitare l'autenticazione attraverso metodi come one-time password.

Uno sfortunato effetto collaterale nell'uso di PAM come modulo di autenticazione è che in questo caso OpenSSH deve essere eseguito come utente root, visto che i privilegi da amministratore sono tipicamente richiesti per operare con PAM. Le versioni di OpenSSH successive alla 3.7 permettono che l'uso di PAM venga disabilitato a runtime, di modo che gli utenti regolari possano eseguire proprie istanze di server sshd.

X forwarding[modifica | modifica wikitesto]

L'X forwarding permette di vedere sul proprio monitor le applicazioni che sono state lanciate sulla macchina remota.

Sulla macchina remota deve essere abilitata la voce X11Forwarding nel file /etc/ssh/sshd_config apponendo il valore 'yes' (ricordatevi di riavviare il server una volta apportata la modifica al file di configurazione) mentre sulla propria macchina basterà lanciare ssh passando l'opzione "-X".

Note[modifica | modifica wikitesto]

  1. ^ OpenSSH release 6.6 changelog in openssh.com. URL consultato il 29/7/2014.
  2. ^ Ylonen, Tatu la sua mail alla mailing list openssh-unix-dev, disponibile qui. 14 febbraio 2001. Ultimo accesso: 24 dicembre 2005.
  3. ^ CNet News article: "Ssh! Don't use that trademark", disponibile qui. 14 febbraio 2001. Ultimo accesso: 24 dicembre 2005.
  4. ^ Newsforge article: "Ylönen: We own ssh trademark, but here's a proposal", disponibile qui. 16 febbraio 2001. Ultimo accesso: 24 dicembre 2005.
  5. ^ Network World article: "SSH inventor denied trademark request": disponibile qui. 16 febbraio 2001. Ultimo accesso: 24 dicembre 2005.

Collegamenti esterni[modifica | modifica wikitesto]