SSH, also known as Secure Shell or Secure Socket Shell, is a network protocol that provides users, particularly system administrators, with a secure way to access a computer over an unsecured network. SSH provides authentication using passwords and public keys. It establishes encrypted data communication between two computers connected over an open network, such as the internet.
In addition to providing strong encryption, SSH is widely used by network administrators to manage systems and applications remotely, allowing them to log into another computer over a network, execute commands, and move files from one computer to another. SSH uses a client-server model, connecting a Secure Shell client application—which is the end where the session is displayed—to a Secure Shell server, which is the end where the session runs. By default, Secure Shell uses port 22 on the Transmission Control Protocol (TCP).
The History of SSH
The first version of SSH appeared in 1995 and was designed by Tatu Ylönen, who was a researcher at the Helsinki University of Technology at the time and later founded SSH Communications Security, a cybersecurity vendor based in Finland.
Over time, various flaws were discovered in SSH-1. That version is now considered deprecated and unsafe to use. SSH-2, the current version of the Secure Shell protocol, was adopted as a Standards Track specification by the Internet Engineering Task Force (IETF) in 2006. SSH-2 is incompatible with SSH-1 and features security improvements over the previous version. SSH clients and servers can use a number of encryption methods, with the most widely used being the Advanced Encryption Standard (AES) and Blowfish. There are no exploitable vulnerabilities in SSH-2, although information leaked by Edward Snowden in 2013 suggested that the National Security Agency (NSA) might be able to decrypt some SSH traffic.

How SSH Works
Secure Shell was created to replace insecure terminal emulation or login programs, such as Telnet, rlogin (remote login), and rsh (remote shell). Secure Shell allows for the same functionality, which is logging in and running a terminal session on a remote system. Secure Shell also replaces file transfer programs, such as File Transfer Protocol (FTP) and rcp (remote copy).
The most basic use of SSH is to connect to a remote host for a terminal session. The command format is as follows:
ssh username@host
The command above will attempt to connect to a server named host using the user ID username. If this is the very first connection between the localhost and the server, the user will see a fingerprint prompt to connect to the server:
The authenticity of host 'sample.ssh.com' cannot be established.
DSA key fingerprint is 01:23:45:67:89:ab:cd:ef:ff:fe:dc:ba:98:76:54:32:10.
Are you sure you want to continue connecting (yes/no)?
Answering ‘yes’ to the prompt will allow the session to continue, and the host key will be saved in the known_hosts file on the local system. This is a hidden file, stored by default in a hidden directory or folder named /.ssh/known_hosts in the user’s home directory. Once the host key is saved in the known_hosts file, the client system can connect directly to the server without needing any further approval, as the host key will automatically authenticate the connection.
What is SSH Used For?
SSH is present by default on every Unix, Linux, and Mac server. SSH connections have been used to secure various types of communication between local machines and remote hosts, including secure remote access to servers, remote command execution, the delivery of software patches, updates, and other administrative or management tasks. SSH is used to connect to a server, make changes, perform uploads, and exit, whether using tools or directly through the terminal. All SSH traffic is always encrypted, ensuring that everything done over SSH remains highly private.
Share this article
Implementasi Robot Framework pada Robot Process Automation – Tutorial Awal
Menggali Potensi Pentaho: Kemampuan Ekstraksi Data yang Luar Biasa