Our Approach

This tutorial is organized by concept rather than syntax. We begin with an overview and progressively lead you deeper into the functionality of SSH. So we might introduce a topic in "Introduction to SSH", show its basic use in "Basic Client Use", and reveal advanced uses in "Advanced Client Use". If you would prefer the whole story at once, Appendix B, "SSH Quick Reference" presents all commands and their options in one location.We focus strongly on three levels of server configuration, which we call compile-time, serverwide, and per-account configuration. Compile-time configuration ("Installation and Compile-Time Configuration") means selecting appropriate options when you build the SSH clients and servers. serverwide configuration ("Serverwide Configuration") applies when the SSH server is run and is generally done by system administrators, while per-account configuration ("Per-Account Server Configuration") can be done any time by end users. It's vitally important for system administrators to understand the relationships and differences among these three levels. Otherwise, SSH may seem like a morass of random behaviors.Although the bulk of material focuses on Unix implementations of SSH, you don't have to be a Unix user to understand it. Fans of Windows and Macintosh may stick to the later chapters devoted to their platforms, but a lot of the meaty details are in the Unix chapters so we recommend reading them, at least for reference.