Appendix C. Secure Connections Through SSH

Developers built SSH (Secure Shell) so they could log in to another computer over a network with the protections of encryption (scrambling data) and authentication (making sure a person or system is really what is claimed). Using SSH, a person can execute commands and send passwords securely. Earlier protocols such as FTP and Telnet transmitted their information in plain text, allowing people snooping on the Internet to get the passwords and use them to gain access to others’ accounts and data. SSH also replaces older Unix commands such as rlogin, rsh, and rcp (remote logon, remote shell, and remote copy).

SSH allows you to:

  • Run a single command on a remote system (ssh followed by the desired command)

  • Start a shell on a remote system where one can enter a series of commands (ssh without specifying a command)

  • Copy a file from one system to another (scp)

  • Download a file from an FTP site ( sftp)

Additionally, SSH provides secure X connections and secure forwarding of arbitrary TCP connections.

The traditional remote command protocols are vulnerable to different kinds of attacks. Somebody who has root access to machines on the network, or physical access to the wire, can gain unauthorized access to systems in a variety of ways. It is also possible for such a person to log all the traffic to and from your system, including passwords (which SSH never sends in the clear).

The X Window System also has a number of severe vulnerabilities. With SSH, you ...

Get Exploring the JDS Linux Desktop now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.