The Secure Shell Protocol (SSH Protocol) is a super-secure way to connect to external servers.

It is a cryptographic network that enables secure communication over networks that may or may not be secure. Think of it like a tunnel from one computer to another!

ssh typically runs at TCP/IP port 22

command

ssh [username]@[hostname or IP]

typically, you are given a remote server username [username] to connect with a [hostname or IP]

Options

Here are the command options for the ssh command

OptionDescription
-1Forces ssh to use ssh-1 protocol only
-2Forces ssh to use ssh-2 protocol only
-4Allows IPv4 addresses only
-6Allows IPv6 addresses only
-AAuthentication agent connection forwarding is enabled
-aAuthentication agent connection forwarding is disabled
-CCompresses all data for faster transfer of data
-cSelects the cipher specification for encrypting the session (specific algorithm will only be selected if both the client and server support it)
-fRequests ssh to go to background just before command execution
-gAllows remote hosts to connect to local forwarded ports
-nPrevents reading from stdin
-pPort to connect to on the remote host
-qSuppresses all error and warnings
-VDisplay the version number
-vVerbose mode, useful for debugging connection failures
-XEnables X11 forwarding

public-private keys

ssh-keygen

You can set up an asymmetric key cryptographic system to connect to an SSH server. The advantage of this is that you will no longer need to use a password to ssh into a system.

Acknowledgements


Most of this information is from GeeksForGeeks.org: