What is a SSH ? Definition and Details (2024)


What is a SSH ? Definition and Details (1)

IT Explained:

Back to index

Content

1. What is SSH?

2. History

3. What is an SSH client?

4. Where is SSH used?

5. Core SSH features

6. Benefits of SSH

7. Drawbacks to using SSH

8. Sources

What is SSH?

Definition

SSH is an acronym for Secure Shell. It is a generic term that refers to versions of SSH protocols, for example SSH-1 and SSH-2, among other things like OpenSSH. While it is often referred to as a version of SSH, it is, strictly speaking, a suite that consists of networking utilities that are based on the SSH protocol.

SSH protocols specify standards for operating network services securely between untrusted hosts over unsecured networks. Communications between a client and server using SSH are encrypted, so it is ideal for use on unsecure networks.

Originally, the word shell in SSH referred to a program that processed Unix commands. Over time, the term has been increasingly applied to the user interfaces of servers that make them more user friendly to interact with. An example of another commonly used shell is Windows Command Prompt (cmd.exe), which provides access to Windows operating system tools. SSH itself is not a shell, like the Unix Bourne shell or C shell; instead, it creates a channel for running a shell on a remote computer.

SSH manages more than half the world’s web servers, on-premise and in the cloud. SSH is used to secure, configure, manage, maintain, and operate network servers, routers, firewalls, switches, operating systems, and applications. SSH protocols cover authentication, encryption, and data integrity. SSH is so popular that, like Google, it is often used as a verb, for example SSH-ing.

Versions

There are two main versions of SSH: SSH-1 and SSH-2. A fourth type of SSH, SSH-1.9, was defined in 2006. It is used to identify servers that are backwards compatible with SSH versions, specifically that a server supports SSH-2 as well as previous versions of SSH.

SSH is most commonly used by variants of Unix operating systems, for example Linux and macOS. It is also used with Microsoft Windows, for example Windows 10 uses OpenSSH as its default SSH client and SSH server.

In comparison to SSH-1, SSH-2 comes with security and feature improvements but it is not compatible with SSH-1. One of the security improvements of SSH-2 is the use of the Diffie-Hellman key exchange. The Diffie-Hellman key exchange is a method of exchanging cryptographic keys over a public channel like the internet. SSH-2 also added additional message authentication codes to improve data integrity.

Because of design flaws, SSH-1 is generally considered obsolete. Most modern systems support SSH-2.

History


SSH was developed by Tatu Ylonen, a researcher at Helsinki University of Technology, in 1995. Ylonen created the first version of the protocol after the university’s network was hacked and thousands of usernames and passwords were breached. Ylonen's goal was to develop a solution that he could use to remotely log in to the internet securely.

Ylonen first spent some time studying cryptography, the backbone of SSH. After getting SSH standardized by the Internet Engineering Task Force (IETF), he designed the SSH File Transfer Protocol (SFTP) and then founded SSH Communications Security Corporation to provide commercial support for the paid versions of SSH.

Designed to replace Telnet (port 23) and FTP (port 21), Tatu Ylonen was able to get SSH allocated to port 22 by the Internet Assigned Numbers Authority (IANA).

What is an SSH client?


SSH is based on a client-server architecture model. In this model, a host is any computer that is connected to a network; clients and servers are programs that run on a host.

A user uses their computer (the client) to connect to a remote computer (the server). Using a graphical user interface (GUI) or command-line tool, a user can transfer data between the client and server. Both the client and server must have SSH enabled.

The SSH client is a program on the computer that makes a request that uses SSH to connect to a remote system. For Unix-type operating systems, the SSH functionality is built-in. For non-Unix-type operating systems, there are also external clients available, for example PuTTY, EasySSH, and Cyberduck. For Windows operating systems, there are also numerous SSH clients, for example PuTTY, Solar-PuTTy, WinSCP, and MobaXterm.

Most SSH clients provide more functionality than traditional SSH command-line execution, for example the ability to run multiple sessions simultaneously, to highlight keywords across sessions, to use other connection types like Telnet, and to save credentials.

Where is SSH used?

SSH is often used in conjunction with various other internet protocols. SFTP is a secure alternative to the traditional FTP and Secure Copy (SCP) protocols that support file transfers between hosts on a network. SFTP allows fast, dynamic encryption and decryption.

Automated secure connections

In corporate environments, automated SSH connections are commonly used for encrypted file transfers and automated authentication for machine-to-machine (M2M) processes. Automated tasks include data backup and archiving, reporting, database cleanups, system backups, and network maintenance.

Manual secure connections

Businesses can use SSH tunnels to securely share files with customers.

Remote network administration

SSH enables secure logins to remote computers. It is routinely used by network administrators and webmasters to secure file transfers, automate data transfers using SSH scripts, establish VPNs, test applications, reboot systems, change file permissions, and manage user access. Most administrators routinely use an SSH client to securely access remote servers, switches, routers, virtualization platforms, and operating systems. Tasks include streaming video using SFTP, creating a single authenticated session for multiple connections, performing remote backups, connecting remote folders to a local directory, and using an encryption key for multiple accounts instead of different passwords.

Application security

Usually, TCP/IP applications use a dedicated port to communicate. With port forwarding, multiple applications can use a single port, namely port 22.

Core SSH features

SSHD

To establish an SSH connection, the remote computer must run an SSH daemon (sshd), which is a program that listens for connection requests, typically on port 22, authenticates connection requests, and triggers connections.

The SSH daemon enables the encrypted exchange of data between untrusted hosts over an unsecure network using the SSH protocol. A daemon is an application that runs in the background and, like any other application, it is coded and configured to perform specific tasks for a specific application.

RFCs

SSH is defined by a number of Request For Comments (RFCs) publications. An RFC describes standards, protocols, and technologies that are relevant to the internet, like SSH. For example, there are standard documents for all SSH layers, SSH cryptographic algorithms, and SSH security certificates. There is also an RFC that specifies that the SSH transport layer must allow perfect forward secrecy (PFS). Perfect forward secrecy ensures that if a server’s private key is compromised, a hacker would not be able to access previously transmitted data.

SSH layers

SSH is made up of three layers: transport, user authentication, and connection layers.

The transport layer handles the encryption and decryption of the data exchanged. The transport layer also authenticates the server and establishes confidentiality and integrity.

The user authentication layer authenticates the identity of the client.

The connection layer manages channels through which data travels between authenticated parties in the data exchange process. There are channels, or data streams, for different kinds of communications, for example simultaneous connections to different remote terminals or services, or forwarded X11 sessions.

SSH encryption

The main advantage that SSH has over alternatives is the use of encryption. SSH encrypts all traffic between a client and a server while in transit. Anyone that eavesdrops on the traffic, for example by using a packet-sniffing program, will not be able to access or decrypt transmitted data.

SSH uses three encryption methods: symmetric encryption, asymmetric encryption, and hashing.

Symmetric encryption involves a secret key that is used for both the encryption and decryption of an entire SSH connection. The symmetric key is created using an agreed key exchange algorithm.

Asymmetric encryption involves two separate keys - a public-private key pair - for encryption and decryption. In an SSH session, asymmetric encryption is used to set up the symmetric encryption. In the symmetric encryption stage, the client and server produce temporary key pairs and exchange the public key in order to create the symmetric key. Asymmetric encryption is also used to authenticate the identity of the client to the server.

The hashing method converts the data being transmitted into another unique value. SSH uses hashing to verify the authenticity of messages.

Tunneling and port forwarding

SSH supports port forwarding and tunneling. The terms port forwarding and tunneling are often used interchangeably. However, tunneling is a more inclusive term that describes three types of port forwarding: local port forwarding, remote port forwarding, and dynamic port forwarding.

SSH tunneling can be used to transfer unencrypted traffic on a network via an encrypted channel. For example, an encrypted SSH tunnel can be created to transmit data between an FTP server and a client even though the FTP protocol is not encrypted. SSH tunnels can also be used to access geo-restricted content and to bypass firewalls.

X11 forwarding

SSH enables X11 forwarding, which can be used when a user wants to connect to a remote server and also needs a GUI to view the application running or the data. X11 forwarding allows a user to start up a remote application and then transmit the application’s output to a local Windows machine.

Free Download
Product overview

Benefits of SSH


SSH was designed to replace unsecured remote shell protocols, like Telnet, FTP, rsh, rlogin, and rexec. These protocols are inherently unsecure as they exchange information, including passwords, in plaintext, which is vulnerable to security breaches. The main advantage of SSH is the use of encryption to ensure the secure transfer of information between the client and the server.

SSH allows users to execute shell commands on a remote computer in the same way as if they were sitting in front of the physical computer. Using SSH commands and scripts, administrators can view, remove, or move files, create new folders, files, and directories, and download files.

The SSH connection layer allows multiple data streams through a single TCP connection. This ability is called multiplexing and means fewer TCP connections are needed, which allows scarce resources to be shared and also reduces overhead.

The ability of SSH to use port tunneling and forwarding can be used to bypass restrictive firewalls.

SSH allows network administrators to remotely limit user access to a network.

SSH keys, instead of usernames and passwords, can be used to authenticate users that log in to a system. An SSH agent is a program that stores private keys in memory and provides authentication services. SSH keys are more difficult to hack than passwords although the SSH authentication process is a bit more difficult to set up than using usernames and passwords. Using SSH keys mitigates the success of brute force password attacks.

SSH tunnels are used in cloud computing to solve connectivity problems and avoid security vulnerabilities where cloud-based virtual machines are exposed directly to the internet. SSH tunnels provide a secure path over the internet and through a firewall to a virtual machine.

Drawbacks to using SSH

SSH-2 is generally considered to be secure. However, all security implementations have vulnerabilities.

SSH supports tunneling, used for example by administrators to tunnel into a network from remote locations. However, unrestricted outbound SSH transactions may result in security vulnerabilities. Tunneling may create backdoors for hackers and may also violate some security regulations like PCI and HIPAA. Inbound SSH transactions can be controlled more easily than outbound SSH transactions, for example by redirecting port 22 (SSH) connections to a specific IP address.

SSH keys – often used by users to log in instead of passwords – never expire. In large organizations, there may be hundreds of SSH keys on multiple servers. Poor SSH user key management can result in key sprawl, which could provide a backdoor for hackers. SSH tunneling may allow an attacker to use these SSH keys to bypass firewalls. However, tunneling attacks are not specific to systems that use SSH.

Some hosts may share the same key because it was preconfigured in a device. Private keys to these devices may be accessible through reverse engineering. Older, short-length keys may also allow an attacker to derive the values of private keys.

SSH can be slow to respond to high-bandwidth commands over slow connections.

Some studies suggest that the majority of SSH security failures have been due to the mismanagement of SSH by IT departments.

Sources

What is a SSH ? Definition and Details (2024)

FAQs

What is SSH in detail? ›

SSH or Secure Shell is a network communication protocol that enables two computers to communicate (c.f http or hypertext transfer protocol, which is the protocol used to transfer hypertext such as web pages) and share data.

How do you define SSH? ›

SSH, also known as Secure Shell or Secure Socket Shell, is a network protocol that gives users, particularly system administrators, a secure way to access a computer over an unsecured network. SSH also refers to the suite of utilities that implement the SSH protocol.

What does SSH stand for quizlet? ›

Secure Shell (SSH) is a remote administration protocol that allows users to control and modify their remote servers over the internet.

What are the three types of SSH? ›

SSH layers

SSH is made up of three layers: transport, user authentication, and connection layers. The transport layer handles the encryption and decryption of the data exchanged. The transport layer also authenticates the server and establishes confidentiality and integrity.

What is the SSH command used for? ›

The ssh command provides a secure encrypted connection between two hosts over an insecure network. This connection can also be used for terminal access, file transfers, and for tunneling other applications. Graphical X11 applications can also be run securely over SSH from a remote location.

What is SSH and what port does it use? ›

SSH port 22

By default, port 22 is open on all IBM StoredIQ hosts. The port is used for Secure Shell (SSH) communication and allows remote administration access to the VM. In general, traffic is encrypted using password authentication.

What does SSH key stand for? ›

Secure Socket Shell (SSH) Key Management, also called Secure Shell Management, is a special network protocol leveraging public-key cryptography to enable authorized users to remotely access a computer or other device via access credentials called SSH keys.

What is a SSH key or an SSH key? ›

An SSH key is an access credential for the SSH (secure shell) network protocol. This authenticated and encrypted secure network protocol is used for remote communication between machines on an unsecured open network. SSH is used for remote file transfer, network management, and remote operating system access.

What are the three major components of the SSH protocol? ›

SSH has three components: transport layer protocol (TLP), user authentication protocol, and connection protocol.

What is the best key for SSH? ›

We strongly recommend using only the ed25519 algorithm (an ECDSA variant). It is the most secure SSH key type widely available, and is very well supported in the majority of systems. If you are using an client or server without ed25519 support, you should consider upgrading where possible.

What is SSH basic concepts? ›

SSH is a secure protocol used as the primary means of connecting to Linux servers remotely. It provides a text-based interface by spawning a remote shell. After connecting, all commands you type in your local terminal are sent to the remote server and executed there.

What is SSH key and how it works? ›

SSH keys are a pair of public and private keys that are used to authenticate and establish an encrypted communication channel between a client and a remote machine over the internet.

What are the two types of protocols in SSH? ›

SSH has three components: transport layer protocol (TLP), user authentication protocol, and connection protocol.

What is the difference between SSH and SSL? ›

SSH is primarily used for secure remote access to servers and devices, while SSL is primarily used for securing web-based communications. They use different encryption algorithms, run on different port numbers, and provide different levels of authentication and implementation.

Top Articles
Best Place to Stake Ethereum in 2024 | Where to earn ETH - Marketplace Fairness
Online Banking with IBC Bank
Where To Go After Howling Pit Code Vein
Bin Stores in Wisconsin
Comforting Nectar Bee Swarm
Chalupp's Pizza Taos Menu
Craigslist Free Stuff Appleton Wisconsin
When is streaming illegal? What you need to know about pirated content
Seething Storm 5E
Holly Ranch Aussie Farm
Violent Night Showtimes Near Amc Fashion Valley 18
83600 Block Of 11Th Street East Palmdale Ca
Winterset Rants And Raves
Housework 2 Jab
6th gen chevy camaro forumCamaro ZL1 Z28 SS LT Camaro forums, news, blog, reviews, wallpapers, pricing – Camaro5.com
U/Apprenhensive_You8924
Colorado mayor, police respond to Trump's claims that Venezuelan gang is 'taking over'
How To Cut Eelgrass Grounded
Northern Whooping Crane Festival highlights conservation and collaboration in Fort Smith, N.W.T. | CBC News
Gdlauncher Downloading Game Files Loop
Brett Cooper Wikifeet
Aris Rachevsky Harvard
Evil Dead Rise - Everything You Need To Know
Kamzz Llc
Graphic Look Inside Jeffrey Dahmer
Bjerrum difference plots - Big Chemical Encyclopedia
Sandals Travel Agent Login
Elbert County Swap Shop
Defending The Broken Isles
800-695-2780
How To Improve Your Pilates C-Curve
UPC Code Lookup: Free UPC Code Lookup With Major Retailers
L'alternativa - co*cktail Bar On The Pier
Skroch Funeral Home
Seymour Johnson AFB | MilitaryINSTALLATIONS
Chilangos Hillsborough Nj
Sams La Habra Gas Price
Culvers Lyons Flavor Of The Day
Ticket To Paradise Showtimes Near Marshall 6 Theatre
Metro Pcs Forest City Iowa
Devon Lannigan Obituary
VPN Free - Betternet Unlimited VPN Proxy - Chrome Web Store
Emily Browning Fansite
Craigslist Pet Phoenix
Neil Young - Sugar Mountain (2008) - MusicMeter.nl
Rite Aid | Employee Benefits | Login / Register | Benefits Account Manager
Theatervoorstellingen in Nieuwegein, het complete aanbod.
Mit diesen geheimen Codes verständigen sich Crew-Mitglieder
Mlb Hitting Streak Record Holder Crossword Clue
Craigslist Cars And Trucks For Sale By Owner Indianapolis
Asisn Massage Near Me
Latest Posts
Article information

Author: Wyatt Volkman LLD

Last Updated:

Views: 6051

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Wyatt Volkman LLD

Birthday: 1992-02-16

Address: Suite 851 78549 Lubowitz Well, Wardside, TX 98080-8615

Phone: +67618977178100

Job: Manufacturing Director

Hobby: Running, Mountaineering, Inline skating, Writing, Baton twirling, Computer programming, Stone skipping

Introduction: My name is Wyatt Volkman LLD, I am a handsome, rich, comfortable, lively, zealous, graceful, gifted person who loves writing and wants to share my knowledge and understanding with you.