SSH (Secure Shell)
What is it?
SSH (Secure Shell) is a network protocol that provides secure, encrypted communication between a client and a remote machine. It is primarily used for interactive shell access to servers, executing commands remotely, and secure file transfers using SCP/SFTP. SSH uses asymmetric cryptography for key exchange and authentication together with symmetric encryption for the session, and it also supports tunneling/port forwarding and agent forwarding.
Practical example
As a developer you connect to a Linux server with ssh user@server.example.com to install software and inspect logs. For automated deployment you use an SSH key without a password and configure the CI/CD pipeline to connect using that key. To securely access a database bound to localhost on a remote machine, you create an SSH tunnel (ssh -L) to bind a local port and access the database through the encrypted tunnel.
Test your knowledge
What is the primary purpose of the SSH protocol?