From the course: Red Hat Certified System Administrator (EX200) Cert Prep: 2 File Access, Storage, and Security

Configure Secure Shell

- [Instructor] Secure shell is the heart of remote access on Linux. SSH can provide us with an interactive login shell, non interactive remote command execution, secure copying of files from across the network, and simple network tunneling of other traffic. A working secure shell system comprises of an SSH client on the local host and an SSH server on a remote host connected with an encrypted tunnel. There are SSH clients for just about every desktop operating system made including Linux, macOS, and windows as well as iOS and Android. There are SSH servers for most desktop and server operating systems. Linux, macOS, and Unix, all come with SSH servers built in. Third party SSH servers are available for windows as well but it doesn't come with one. On Linux the main SSH configuration files are stored in /etc/ssh. The config file for the client is ssh_config. The SSH server and Enterprise Linux has two configuration files. The main one is sshd_config and there's a minor one at /etc/sysconfig/sshd. You will probably only need to edit the main one. The SSH server answers on port 22 by default. If you wanted to change this, you just edit the server configuration file. There are many other options in that file, including items for ciphers, compression, access control and forwarding. So you'll want to make sure you look at the Man page for it. Also, every user can have a per user client configuration file for overwriting certain configuration items. These configuration files are stored in the user's home directory at ~/.ssh/config. This .ssh directory doesn't exist until you try to connect to a server for the first time. A per user client configuration file allows us to store information about our remote servers to make administration easier. For instance, if a remote server use port 1022, and we had a private public key pair created for it, we would have a configuration file that look like this. Without the configuration file, we'd have to type more to log in remotely. We'd have the type ssh -p space, the port number 1022, space, the username grant@server1vmguests.com, space, and then the identity of file the dash I space, ~/.ssh/server1.key. With the config file in place we'd type in ssh server1. Making our job much, much easier. Per user client configuration files, make managing lots of servers possible.

Contents