CentOS / RHEL : How to Install and Configure OpenSSH Server and Client

OpenSSH (Secure Shell) is a suite of network connectivity tools that provides secure communications between systems. OpenSSH tools include the following:

  • ssh: Secure shell logs on or runs a command on a remote system
  • scp: Secure copy
  • sftp: Secure ftp (file transfer protocol)
  • sshd: The OpenSSH daemon
  • ssh-keygen: Creates ECDSA(Elliptic Curve Digital Signature Algorithm) or RSA(named for the designers Rivest, Shamir, and Adleman) host/user authentication keys:

Unlike other tools such as telnet, rcp, rsh, rlogin, and ftp, OpenSSH tools encrypt all communication between the client and server systems, including passwords. Each network packet is encrypted by using a key known only by the local and remote systems.

OpenSSH supports both versions of SSH, SSH protocol version 1 (SSH1) and SSH protocol version 2 (SSH2). Additionally, OpenSSH provides a secure means to use graphical applications over a network by using X11 forwarding. It also provides a way to secure otherwise insecure TCP/IP protocols by using port forwarding.

Configuring OpenSSH Server

1. To begin configuring a system as an OpenSSH server, install the following packages (these are installed by default):

# yum install openssh
# yum install openssh-server

2. Start the sshd daemon:

# systemctl start sshd

3. Use the systemctl command to automatically start the sshd service at boot time:

# systemctl enable sshd

Configuring OpenSSH Client

1. To configure a system as an OpenSSH client, install the following packages (these are installed by default):

# yum install openssh
# yum install openssh-clients

2. There are no services to start for OpenSSH clients.

Related Post