SSH, également connu sous le nom de Secure Shell ou Secure Socket Shell, est un protocole réseau qui donne aux utilisateurs, en particulier aux administrateurs système, un moyen sûr d'accéder à un ordinateur sur un réseau non sécurisé. En plus de fournir des services réseau sécurisés, SSH fait référence à la suite d'utilitaires qui mettent en œuvre le protocole SSH. Secure Shell fournit une authentification forte par mot de passe et une authentification par clé publique, ainsi que des communications de données cryptées entre deux ordinateurs se connectant sur un réseau ouvert, comme Internet. En plus de fournir un cryptage fort, SSH est largement utilisé par les administrateurs de réseau pour gérer des systèmes et des applications à distance, leur permettant de se connecter à un autre ordinateur sur un réseau, d'exécuter des commandes et de déplacer des fichiers d'un ordinateur à l'autre.
SSH fait référence à la fois au protocole de réseau cryptographique et à la suite d'utilitaires qui mettent en œuvre ce protocole. SSH utilise le modèle client-serveur, en connectant une application client Secure Shell, qui est le terminal où la session est affichée, avec un serveur SSH, qui est le terminal où la session s'exécute. Les implémentations SSH incluent souvent la prise en charge de protocoles d'application utilisés pour l'émulation de terminal ou les transferts de fichiers. SSH peut également être utilisé pour créer des tunnels sécurisés pour d'autres protocoles d'application, par exemple, pour exécuter à distance des sessions graphiques du système X Window en toute sécurité. Un serveur SSH, par défaut, écoute sur le port standard 22 du protocole de contrôle de transmission (TCP).