Le diagramme suivant retrace les principales étapes de création d'un canal Secure Shell et de son utilisation pour transmettre des données en toute sécurité.
Établissement d'une connexion sécurisée.
Le client et le serveur négocient la définition d'une clé et d'un code partagés pour chiffrer la session, ainsi qu'un hachage pour la vérification de l'intégrité des données.
Authentification du serveur.
L'authentification du serveur permet au client de s'assurer de l'identité du serveur. Au cours du processus, le serveur ne dispose que d'une tentative pour s'authentifier auprès du client. Si cette tentative échoue, la connexion n'est pas établie.
Authentification du client.
L'authentification du client permet au serveur de s'assurer de l'identité de l'utilisateur client. Par défaut, le client a droit à plusieurs tentatives d'authentification. Le serveur et le client s'accordent sur une ou plusieurs méthodes d'authentification.
Envoi de données par une session chiffrée.
Une fois la session chiffrée établie, toutes les données échangées entre le serveur et le client Secure Shell sont chiffrées. Les utilisateurs disposent alors d'un accès distant sécurisé au serveur et peuvent exécuter des commandes et transférer des fichiers via le canal sécurisé.
Utilisation du transfert de port pour sécuriser les communications avec d'autres clients et serveurs.
Le transfert de port, également appelé tunneling, permet de rediriger les communications via le canal Secure Shell d'une session active. Lorsque le transfert de port est activé, toutes les données envoyées à un port spécifié sont redirigées via le canal sécurisé.