SSH is a Secure Shell that uses a secure encrypted communication protocol designed to replace older insecure protocols like telnet, rsh, and ftp. SSH authentication is done with a username and password combination, which is the default. This is the most simplistic usage we will see.
$ ssh user@secureserver
SSH comes with all Linux distributions as well as other Unix variants. SSH is not a complete security solution and it will not protect against trojans, viruses, etc.
Why would you want to replace telnet and remote login with SSH?
SSH (Secure Shell) is a protocol that can be used to log into a remote machine and provide secure encrypted communications between the Virtual Server and the local computer. The communication is made via encrypted channels. Telnet on the other hand communicates without any encryption, allowing a sniffer to capture information, e.g. user names and passwords. This is why SSH is preferred over Telnet.
SSH uses a public and private key on each system. The private key is the one which you should never give away access to and the public key is the one which you will put on other machines you want to log into. For any given public key, only one possible private key can be its’ other half. The first time a user uses SSH to connect to a remote system, their SSH client program exchanges the public keys, unless keys have been exchanged manually. If keys are exchanged over the network during the first connection, the user essentially trusts the security of the network during the key exchange. On subsequent connections to the same system, the SSH program will check that the keys haven’t changed to ensure that it is still the same system.
This is an example of a Telnet unencrypted client-server session:
This is an example of an encrypted SSH client-server session:
How is SSH configured on a Linux computer?
To configure SSH on a Linux computer you need to open ssh server to install it to first work on SSH. Please note that