OnCallReady

Commands

ssh - OpenSSH remote login client

ssh [-T] [-i keyfile] [user@]host [command]

Options you will use

-T
Disable pseudo-terminal allocation. ssh -T [email protected] just tests auth.
-i FILE
Use this private key.
-v
Verbose - the first thing to reach for when auth fails.
-p PORT
Port to connect to on the remote host (default 22).
-l USER
The user to log in as (same as user@host).
-o OPTION
An ssh_config option, e.g. -o StrictHostKeyChecking=accept-new, -o ConnectTimeout=5.
-t
Force a pseudo-terminal - needed to run sudo or top on the remote side.
-n
Read stdin from /dev/null - needed when ssh runs in a loop that reads stdin.
-N
Do not run a remote command (just forward ports).
-L LOCAL:HOST:PORT
Forward a local port to HOST:PORT as seen from the server.
-R REMOTE:HOST:PORT
Forward a port on the server back to HOST:PORT on this side.
-J JUMP
Connect through a jump host (bastion): -J user@bastion.
-A
Forward the SSH agent (the remote side can use your keys - only to hosts you trust).
-q
Quiet: suppress warnings and banners.
-F FILE
An alternative per-user config file (default ~/.ssh/config).
-vv
More verbose (-vvv the most).

Gotchas

Taught in

Try ssh in a real terminal Free, in your browser - a real Ubuntu terminal to try it in, with missions that check your work.