Secure Shell (SSH)
SSH, also known as Secure Shell or Secure Socket Shell, is a network protocol that gives users, particularly system administrators, a secure way to access a computer over an unsecured network. In addition to providing secure network services, SSH refers to the suite of utilities that implement the SSH protocol. Secure Shell provides strong password authentication and public key authentication, as well as encrypted data communications between two computers connecting over an open network, such as the internet. In addition to providing strong encryption, SSH is widely used by network administrators for managing systems and applications remotely, enabling them to log in to another computer over a network, execute commands and move files from one computer to another.
SSH refers both to the cryptographic network protocol and to the suite of utilities that implement that protocol. SSH uses the client-server model, connecting a Secure Shell client application, which is the end where the session is displayed, with an SSH server, which is the end where the session runs. SSH implementations often include support for application protocols used for terminal emulation or file transfers. SSH can also be used to create secure tunnels for other application protocols, for example, to securely run X Window System graphical sessions remotely. An SSH server, by default, listens on the standard Transmission Control Protocol (TCP) port 22.
Practically every Unix and Linux system includes the SSH command. This command is used to start the SSH client program that enables secure connection to the SSH server on a remote machine. The SSH command is used from logging into the remote machine, transferring files between the two machines, and for executing commands on the remote machine.
SSH Command in Linux
The SSH command provides a secure encrypted connection between two hosts over an insecure network. This connection can also be used for terminal access, file transfers, and for tunneling other applications. Graphical X11 applications can also be run securely over SSH from a remote location.
Other SSH Commands
There are other SSH commands besides the client SSH. Each has its own page.
- ssh-keygen – creates a key pair for public key authentication
- ssh-copy-id – configures a public key as authorized on a server
- ssh-agent – agent to hold private key for single sign-on
- ssh-add – tool to add a key to the agent
- scp – file transfer client with RCP-like command interface
- sftp – file transfer client with FTP-like command interface
- sshd – Open SSH server