[OpenSSH]

Histoire du projet et crédits


OpenSSH dérive de la version originale libre 1.2.12 de ssh écrite par Tatu Ylönen. Cette version fut la dernière à être suffisamment libre pour être réutilisable par notre projet. Des parties d'OpenSSH sont encore sous la licence de Tatu qui était contenue dans cette version. Cette version, ainsi que les précédentes, utilisait des fonctions mathématiques de la bibliothèques libgmp. Cette bibliothèque était aussi inclue avec les versions précédentes de ssh. La bibliothèque libgmp est disponible sous licence LGPL (Lesser GNU Public License), bien que les versions de l'époque étaient sous la licence GPL (GNU Public License) classique.

Une licence combinée pour tous ces morceaux est disponible à l'adresse http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/LICENCE.

Rapidement après la sortie de la 1.2.12, les versions suivantes ont été mises sous des licences de plus en plus restrictives, même si la libgmp était encore inclue et nécessaire pour utiliser le logiciel. Les premières licences restrictives interdisaient aux gens de faire une version Windows ou DOS. Les suivantes restreignaient l'utilisation de ssh dans un environnement commercial, obligeant les entreprises à acheter une version onéreuse chez Datafellows.

Début 1999, Björn Grönvall redécouvrit cette version particulière et commença à réparer des bogues. Sa version de ssh s'appelle OSSH et ne supportait que le protocole SSH 1.3. On raconte que OSSH a été intégré dans des produits commerciaux en Suède. Au jour d'aujourd'hui, OSSH ne supporte toujours pas le protocole SSH 2.

Les membres du projet OpenBSD ont eu connaissance du travail de Björn moins de deux mois avant la sortie de la version 2.6 d'OpenBSD. Nous voulions inclure le support du protocole SSH dans la version 2.6 d'OpenBSD mais nous voulions être sûrs que cela serait parfait. En conséquence, nous avons décidé de nous séparer de la version OSSH et de poursuivre un développement rapide, de la même façon que le processus originel d'audit de sécurité d'OpenBSD. Ainsi, au moment de la sortie, de nombreux fichiers source en étaient déjà à la version RCS 1.34, et même pour certains à la version 1.66. Le développement a en effet été très rapide, puisque nous avions une échéance à respecter.

Les personnes suivantes ont participé au développement :

Ainsi, la version d'OpenSSH était basée sur la version ssh 1.2.12, mais avec de nombreux bogues supprimés et de nouvelles fonctionnalités réintroduites:

Cette version sortit sous le nom d'OpenSSH 1.2.2 et fut fournie avec OpenBSD 2.6, le premier décembre 1999. À cette époque, la plupart du développement d'OpenSSH avait été réalisé par Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt et Dug Song. Nous remercions les nombreuses personnes qui ont trouvé des bogues et nous les ont rapportés.

Portage d'OpenSSH

Presque immédiatement après que nous ayons mis en oeuvre notre implémentation du protocole 1, divers groupes non-OpenBSD ont été très, très intéressés. Damien Miller, Philip Hands et beaucoup d'autres ont commencé à porter OpenSSH sur Linux et d'autres systèmes d'exploitation Unix. Depuis le début de notre propre effort, nous avions trouvé que même le code originel de ssh était trop compliqué, il avait tout simplement trop de dépendances à gérer par rapport au système d'exploitation. Notre approche qui consiste à écrire du code complètement sûr et très fiable évite de se préoccuper de différences excessives comme celles-la. Ainsi, pour rendre le processus de développement plus facile pour tous, nous avons décidé de séparer nos efforts de développement sur le noyau dur et ceux concernant la portabilité. Cela a très bien marché pour nous (pour vous faire une idée, comparez le nombre de lignes de code des versions de base et portable).

Support du protocole SSH 2

Après la sortie d'OpenBSD 2.6, Markus Friedl décida de poursuivre le support du protocole SSH 2. Travaillant d'arrache-pied durant des mois, il a réussi à garder OpenSSH léger, tout en en faisant un logiciel capable de supporter à la fois les protocoles SSH 1 et 2. Cette version, appelée OpenSSH 2.0, fut distribuée dans OpenBSD 2.7, le 15 Juin 2000. La plupart des vérifications des modifications de Markus ont été faites par Niels Provos et Theo de Raadt. Bob Beck peut être remercié pour avoir mis à jour OpenSSL à une version plus récente.

Support de SFTP

Le support côté serveur du sous-protocole SFTP a été écrit par Markus Friedl et publié dans la version 2.3.0, en novembre 2000. Peu de temps après, Damien Miller a commencé à travailler sur un client sftp, qui a été publié dans la 2.5.0.

Tester les versions des serveurs SSH

Pour faciliter le contrôle des serveurs SSH déployés, par exemple pour une entreprise, Niels Provos a écrit l'outil scanssh. scanssh cherche parmi une liste d'adresses et de réseaux des serveurs SSH et leurs numéros de version. Il supporte la sélection aléatoire d'adresses IP parmi une large plage d'adresses et est utile pour rassembler des statistiques sur l'utilisation de serveurs SSH dans une entreprise ou sur tout Internet. Les statistiques incluent le protocole SSH supporté et les versions logicielles utilisées.

scanssh est utilisé pour rassembler des statistiques sur le déploiement et l'utilisation du protocole SSH sur Internet. Ces chiffres offrent des éclaircissements sur le distribution des différents protocoles SSH et la part de marché d'une version donnée de serveur.


SSH : Finalement complètement libre.

SSH... Don't Tell Anyone It's Free
OpenSSH www@openbsd.org
$OpenBSD: history.html,v 1.17 2012/06/26 05:27:10 ajacoutot Exp $