Les principales fonctionnalités d'OpenSSH sont les suivantes :
Le code source OpenSSH est disponible librement pour tout le monde à travers Internet. L'objectif est d'encourager la réutilisation et l'audit du code dont l'examen assure la découverte de bogues et leur correction par n'importe qui. Ce qui aboutit à un code sûr.
Licence Libre
OpenSSH n'est couvert par aucune licence restrictive. Il peut être utilisé pour tout motif, y compris à des fins commerciales. La licence OpenSSH est incluse dans la distribution. Nous pensons sincèrement que le monde serait meilleur si les routeurs, les équipements réseau, les systèmes d'exploitation, et toute autre application réseau intégraient ssh.
Tous les composants de nature restrictive (i.e. brevets, voir ssl) ont été supprimés du code source ; tous les composants sous licence ou brevetés sont choisis à partir de bibliothèques externes (OpenSSL par exemple). Le code de chiffrement symétrique IDEA n'est plus disponible, car il est breveté dans plusieurs pays. Nous recommandons l'utilisation des autres algorithmes disponibles. (Nous ne voyons aucune justification à l'utilisation d'un algorithme symétrique breveté, étant donné qu'il existe plusieurs algorithmes libres).
chiffrement fort
OpenSSH utilise les algorithmes de chiffrement libres 3DES Blowfish, AES
et Arcfour.
Triple DES est un algorithme éprouvé et bien compris qui fournit
un chiffrement fort.
Blowfish est un algorithme de chiffrement par blocs rapide
inventé par Bruce Schneier qui peut être utilisé par les personnes
nécessitant une rapidité de chiffrement.
AES est le "US Federal
Information Processing Standard (FIPS) Advanced Encryption Standard"
développé pour remplacer DES. C'est un algorithme de chiffrement par
blocs rapide.
Arcfour est un algorithme de chiffrement par flux rapide. Il
serait compatible avec RC4[TM], un algorithme propriétaire développé par
la société RSA Security Inc.
Le chiffrement s'effectue avant l'authentification de telle sorte qu'aucun mot de passe ou toute autre information n'est transmis en clair. Il est aussi utilisé pour se prémunir contre l'usurpation de paquets.
X11 Forwarding
Le transfert X11 permet le chiffrement du trafic distant X Window. Cela évite l'interception des sessions X distantes ou ou l'insertion de commandes malicieuses. Le programme positionne automatiquement la variable DISPLAY sur le serveur et fait suivre toutes les connexions X11 à travers le canal sécurisé. Des données Xauthority simulées sont générées automatiquement et envoyées à la machine distante. Le client local examine automatiquement les connexions X11 en entrée et remplace les données d'autorisation simulées avec les données réelles (en ne donnant jamais à la machine distante les informations réelles).
Port Forwarding
Le "Port forwarding" permet l'établissement de connexions TCP/IP entre machines distantes à travers un canal chiffré. Des applications Internet courantes telles que POP peuvent être sécurisées de cette manière.
Authentification Forte
L'authentification forte protège contre plusieurs problèmes de sécurité comme l'usurpation IP, les fausses routes et l'usurpation DNS. Les méthodes d'authentification sont : .rhosts avec authentification d'hôte basée sur RSA, authentification RSA pure, mots de passe à usage unique avec s/key, et enfin l'authentification Kerberos.
Agent Forwarding
Un agent d'authentification s'exécutant sur le portable ou la station de travail, permet de garder en mémoire les clés d'authentification RSA ou DSA de l'utilisateur. OpenSSH fait suivre automatiquement la connexion à l'agent d'authentification à travers n'importe quelle connexion, et il n'y a pas besoin de stocker les clés d'authentification RSA ou DSA sur une machine du réseau (mis à part la propre machine de l'utilisateur). Les protocoles d'authentification ne révèlent jamais les clés ; ils ne sont utilisés que pour vérifier que l'agent d'un utilisateur possède une clé donnée. Éventuellement, l'agent peut s'appuyer sur une carte à puce pour effectuer les opérations d'authentification.
Interopérabilité
Les versions OpenSSH antérieures à 2.0 supportent les protocoles SSH 1.3 et SSH 1.5 permettant ainsi la communication avec la plupart des systèmes UNIX, Windows et les autres implémentations ssh commerciales.
A partir de sa version 2.0, OpenSSH supporte aussi le protocole SSH 2.0. Ce protocole évite d'utiliser l'algorithme RSA -- puisqu'au moment de l'invention du protocole 2.0, le brevet RSA était encore d'actualité -- et emploie, au lieu de cela, les algorithmes libres d'utilisation DH et DSA.
OpenSSH fournit ainsi le meilleur des deux mondes. Vous pouvez interagir avec les deux types de clients et serveurs ssh !
Support client et serveur SFTP pour les protocoles SSH1 et SSH2
Le support complet de SFTP est assuré depuis la version 2.5.0 et permet d'utiliser la commande sftp(1) en client. Le sous-système sftp-server(8) fonctionne automatiquement pour les protocoles SSH1 et SSH2.
Transmission des Tickets Kerberos et AFS
OpenSSH transmet aussi les tickets pour Kerberos et AFS à la machine distante. Un utilisateur peut donc accéder à tous ses services Kerberos et AFS sans avoir besoin de saisir son mot de passe à chaque fois.
Compression des Données
La compression des données avant le chiffrement améliore les performances sur les liens réseau de faible capacité.