SSH Reference

Screen Shot 2019-02-18 at 10.25.48.png

SSH (Secure SHell) is a network protocol for secure communication to Unix and Unix-like operating systems. SSH allows you to remotely manage Linux/Unix servers via command line. When you run the ssh command or invoke any SSH client, you will need to provide username and password of a user on the remote Linux server, to then be presented with the command line as if you were working directly and locally on that server.

SSH Protocol Versions

There are two protocol versions of SSH:

  • SSH version 1
  • SSH version 2

SSH Components

As a software product, SSH usually consists of three components.

SSH server (sshd)

ssh server is a binary called sshd that runs SSH service on default SSH port 22 and accepts secure connections on the server side.

SSH client

ssh client in its simplest form is the ssh command – you type it and specify remote SSH server hostname or IP address to start a secure remote access session. If username and password (or SSH key) are accepted by the SSH server, you’ll be given a command line prompt.

You can generate an SSH keypair and protect it with SSH passphrase.

SSH utilities

These days SSH packages come with quite a number of super useful little tools:

  • scp/sftp for copying files
  • ssh-keygen for SSH key management
  • ssh-agent for managing SSH keys in memory and forwarding them to remote sessions

ssh command is the client side of id, while sshd (openssh server) is the server component.

See Also