Frequently Asked Question

What is SSH and why is it the most important Linux tool to learn?

SSH (Secure Shell) is the encrypted remote-shell protocol invented by Tatu Ylönen in 1995 to replace the insecure telnet and rlogin. It gives you three things at once over a single TCP connection (default port 22): confidentiality (nobody sniffing the wire can read your traffic), integrity (nobody can tamper with it), and mutual authentication (both ends can verify each other). It is how system administrators do almost all their work, how developers push to remote git repositories, how cloud instances are managed, and how you reach any machine further away than the keyboard in front of you.

The basic invocation is ssh user@host. From there it grows: ssh -p 2222 host for non-default ports, ssh host 'ls /var' to run a single command, ssh -L 8080:localhost:80 host to tunnel a local port through the SSH connection, ssh -J bastion target to hop through a jump host. The companion tools scp and sftp copy files over the same connection; rsync runs over SSH for incremental transfers. If you learn one chapter's worth of tools, learn this one.

Video

Further reading and video