The Illustrated Network- P68:In this chapter, you will learn about the protocol stack used on the global public Internet and how these protocols have been evolving in today’s world. We’ll review some key basic defi nitions and see the network used to illustrate all of the examples in this book, as well as the packet content, the role that hosts and routers play on the network, and how graphic user and command line interfaces (GUI and CLI, respectively) both are used to interact with devices. | CHAPTER 25 Secure Shell Remote Access 639 SSH Architecture Many SSH components interact to allow secure client-server exchanges. These components not all of which are distinct programs or processes are shown in Figure . The following is a brief overview of the major components of SSH. Server The program that authenticates and authorizes SSH connections usually sshd. Client The program run on the client user device often ssh but also scp sftp and so on. Session The client server connection which can be interactive or batch. The session begins after successful authentication to the server and ends when the connection terminates. Key generator A program usually ssh-keygen that generates persistent keys. Key types are discussed later in this chapter. Known hosts A database of host keys. This is the major authentication mechanism in SSH. FIGURE An overview of the SSH architecture. Note that a lot of space is devoted to the distribution and use of encryption keys. 640 PART VI Security Agent A caching program for user keys to spare users the need to repeat passphrases. The agent is only a convenience and does not disclose the keys. The usual agent is ssh-agent and ssh-add loads and unloads the key cache. Signer This program signs the host-based authentication packets used instead of password authentication. Random seed Random data used by SSH components to initialize the pseudorandom number generators PRNG used in SSH. Configuration files Settings to determine the behavior of SSH clients and servers. SSH Keys Keys are a crucial part of SSH. Almost everything that SSH does involves a key and often more than one key. SSH keys can range from tens of bits to almost 2000. Keys are used as parameters for SSH algorithms such as encryption or authentication. SSH keys are used to bind the operation to a particular user. There are two types of SSH keys symmetric shared secret keys and asymmetric public and private key pairs . As in all public key systems asymmetric keys .