All Topics  
Secure Shell

 

   Email Print
   Bookmark   Link






 

Secure Shell



 
 
Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel
Secure channel

In cryptography, a secure channel is a way of transferring data that is resistant to interception and tampering.A confidential channel is a way of transferring data that is resistant to interception, but not necessarily resistant to tampering....
 between two networked devices. Used primarily on Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 and Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 based systems to access shell account
Shell account

A shell account is a personal account that gives a user access to a Unix shell on a remote server, usually accessed through Secure Shell . A shell account can be used for many different purposes because many different programs can be run on the shell....
s, SSH was designed as a replacement for TELNET
TELNET

Telnet is a network protocol used on the Internet or Local Area Network connections. It was developed in 1969 beginning with RFC 15 and standardized as Internet Engineering Task Force STD 8, one of the first Internet standards....
 and other insecure
Computer security

Computer security is a branch of technology known as information security as applied to computers. The objective of computer security can include protection of information from theft or corruption, or the preservation of availability, as defined in the security policy....
 remote shell
Shell (computing)

In computing, a shell is a piece of software that provides an Interface for users. Typically, the term refers to an operating system shell which provides access to the services of a kernel ....
s, which send information, notably password
Password

A password is a secret word or string of Character that is used for authentication, to prove identity or gain access to a resource . The password must be kept Secrecy from those not allowed access....
s, in plaintext
Plaintext

In cryptography, plaintext is the information which the sender wishes to transmit to the receiver. Before the computer era, plaintext simply meant text in the language of the communicating parties....
, leaving them open for interception. The encryption
Encryption

In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key ....
 used by SSH provides confidentiality and integrity of data over an insecure network, such as the Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
.

uses public-key cryptography
Public-key cryptography

Public-key cryptography is a method for secret communication between two parties without requiring an initial key exchange of secret key. It can also be used to create digital signature....
 to authenticate
Authentication

Authentication is the act of establishing or confirming something as authentic, that is, that claims made by or about the subject are true....
 the remote computer and allow the remote computer to authenticate the user, if necessary.

SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling
Tunneling protocol

The term tunneling protocol is used to describe when one network protocol called the payload protocol is encapsulation within a different delivery protocol....
, forwarding TCP
Transmission Control Protocol

The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is so central that the entire suite is often referred to as "TCP/IP"....
 port
TCP and UDP port

In computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint used by Transport layer protocols of the Internet protocol suite such as Transmission Control Protocol and User Datagram Protocol ....
s and X11 connections; it can transfer files using the associated SFTP
SSH file transfer protocol

In computing, the SSH File Transfer Protocol is a network protocol that provides file transfer and manipulation functionality over any reliable data stream....
 or SCP
Secure copy

Secure Copy or SCP is a means of securely transferring computer files between a local and a remote Server or between two remote hosts, using the Secure Shell protocol....
 protocols.






Discussion
Ask a question about 'Secure Shell'
Start a new discussion about 'Secure Shell'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel
Secure channel

In cryptography, a secure channel is a way of transferring data that is resistant to interception and tampering.A confidential channel is a way of transferring data that is resistant to interception, but not necessarily resistant to tampering....
 between two networked devices. Used primarily on Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 and Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 based systems to access shell account
Shell account

A shell account is a personal account that gives a user access to a Unix shell on a remote server, usually accessed through Secure Shell . A shell account can be used for many different purposes because many different programs can be run on the shell....
s, SSH was designed as a replacement for TELNET
TELNET

Telnet is a network protocol used on the Internet or Local Area Network connections. It was developed in 1969 beginning with RFC 15 and standardized as Internet Engineering Task Force STD 8, one of the first Internet standards....
 and other insecure
Computer security

Computer security is a branch of technology known as information security as applied to computers. The objective of computer security can include protection of information from theft or corruption, or the preservation of availability, as defined in the security policy....
 remote shell
Shell (computing)

In computing, a shell is a piece of software that provides an Interface for users. Typically, the term refers to an operating system shell which provides access to the services of a kernel ....
s, which send information, notably password
Password

A password is a secret word or string of Character that is used for authentication, to prove identity or gain access to a resource . The password must be kept Secrecy from those not allowed access....
s, in plaintext
Plaintext

In cryptography, plaintext is the information which the sender wishes to transmit to the receiver. Before the computer era, plaintext simply meant text in the language of the communicating parties....
, leaving them open for interception. The encryption
Encryption

In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key ....
 used by SSH provides confidentiality and integrity of data over an insecure network, such as the Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
.

Definition

SSH uses public-key cryptography
Public-key cryptography

Public-key cryptography is a method for secret communication between two parties without requiring an initial key exchange of secret key. It can also be used to create digital signature....
 to authenticate
Authentication

Authentication is the act of establishing or confirming something as authentic, that is, that claims made by or about the subject are true....
 the remote computer and allow the remote computer to authenticate the user, if necessary.

SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling
Tunneling protocol

The term tunneling protocol is used to describe when one network protocol called the payload protocol is encapsulation within a different delivery protocol....
, forwarding TCP
Transmission Control Protocol

The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is so central that the entire suite is often referred to as "TCP/IP"....
 port
TCP and UDP port

In computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint used by Transport layer protocols of the Internet protocol suite such as Transmission Control Protocol and User Datagram Protocol ....
s and X11 connections; it can transfer files using the associated SFTP
SSH file transfer protocol

In computing, the SSH File Transfer Protocol is a network protocol that provides file transfer and manipulation functionality over any reliable data stream....
 or SCP
Secure copy

Secure Copy or SCP is a means of securely transferring computer files between a local and a remote Server or between two remote hosts, using the Secure Shell protocol....
 protocols. SSH uses the client-server
Client-server

The client-server software architecture model distinguishes client systems from server systems, which communicate over a computer network. A client-server application is a distributed system comprising both client and server software....
 model.

An SSH server
Server (computing)

A server is a computer program that provides services to other computer programs , in the same or other computer. The physical computer that runs a server program is also often referred to as server....
, by default, listens on the standard TCP port 22.

An SSH client
Client (computing)

A client is an Application software or system that accesses a remote service on another computer system, known as a Server , by way of a Computer network....
 program is typically used for establishing connections to an SSH daemon
Daemon (computer software)

In Unix and other computer computer multitasking operating systems, a daemon is a computer program that runs in the background , rather than under the direct control of a user; they are usually initiated as background Computer processes....
 accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
, Solaris and OpenVMS
OpenVMS

OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on the VAX and DEC Alpha families of computers, developed by Digital Equipment Corporation of Maynard, Massachusetts, Massachusetts , and most recently on Hewlett-Packard systems built around the In...
. Proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
, freeware
Freeware

Freeware is computer software that is available for use at no cost or for an optional fee. Freeware is different from shareware; the latter obliges the user to pay ....
 and open source
Open-source software

Open source software is defined as computer software for which the source code and certain other rights normally reserved for copyright holders are provided under a computer software license that meets the Open Source Definition or that is in the public domain....
 versions of various levels of complexity and completeness exist.

History

In 1995, Tatu Ylönen, a researcher at Helsinki University of Technology
Helsinki University of Technology

Helsinki University of Technology is the premier technical university in Finland. It is located in Otaniemi, Espoo in the area of Greater Helsinki....
, Finland, designed the first version of the protocol (now called SSH-1) prompted by a password-sniffing attack at his university network. The goal of SSH was to replace the earlier rlogin
Rlogin

rlogin is a software utility for Unix-like computer operating systems that allows users to log in on another Server via a computer network, communicating via Transmission Control Protocol TCP and UDP port 513....
, TELNET
TELNET

Telnet is a network protocol used on the Internet or Local Area Network connections. It was developed in 1969 beginning with RFC 15 and standardized as Internet Engineering Task Force STD 8, one of the first Internet standards....
 and rsh
Remote Shell

rsh is a command line computer program which can execute Command line interfaces as another User , and on another computer across a computer network....
 protocols, which did not provide strong authentication or guarantee confidentiality. Ylönen released his implementation as freeware
Freeware

Freeware is computer software that is available for use at no cost or for an optional fee. Freeware is different from shareware; the latter obliges the user to pay ....
 in July 1995, and the tool quickly gained in popularity. Towards the end of 1995, the SSH user base had grown to 20,000 users in fifty countries.

In December 1995, Ylönen founded SSH Communications Security
SSH Communications Security

SSH Communications Security is a List of Finnish companies that is based in Helsinki and was founded by Tatu Yl?nen in 1995. It is known as the original developer of the Secure Shell protocol and it currently has about 80 employees....
 to market and develop SSH. The original version of the SSH software used various pieces of free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
, such as GNU libgmp
GNU Multi-Precision Library

The GNU Multiple-Precision Library, also known as GMP, is a free software library for arbitrary-precision arithmetic, operating on signed integers, rational numbers, and floating point numbers....
, but later versions released by SSH Secure Communications evolved into increasingly proprietary software
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
.

In 1996, a revised version of the protocol, SSH-2, was designed, incompatible with SSH-1. SSH-2 features both security and feature improvements over SSH-1. Better security, for example, comes through Diffie-Hellman key exchange
Diffie-Hellman key exchange

Diffie-Hellman key exchange is a cryptographic protocol that allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure communications channel....
 and strong integrity
Integrity

Integrity comprises perceived consistency of actions, values, methods, measures and principles. As a holism concept, it judges the quality of a system in terms of its ability to achieve its own goals....
 checking via message authentication code
Message authentication code

A cryptography message authentication code is a short piece of information used to authenticate a message.A MAC algorithm accepts as input a secret key and an arbitrary-length message to be authenticated, and outputs a MAC ....
s. New features of SSH-2 include the ability to run any number of shell
Shell (computing)

In computing, a shell is a piece of software that provides an Interface for users. Typically, the term refers to an operating system shell which provides access to the services of a kernel ....
 sessions over a single SSH connection.

In 1999, developers wanting a free software version to be available went back to the older 1.2.12 release of the original ssh program, which was the last released under an open source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 license. Björn Grönvall's OSSH was subsequently developed from this codebase. Shortly thereafter, OpenBSD
OpenBSD

OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley....
 developers fork
Fork (software development)

In software engineering, a project fork happens when developers take a copy of source code from one Computer software and start independent development on it, creating a distinct piece of software....
ed Björn's code and did extensive work on it, creating OpenSSH
OpenSSH

OpenSSH is a set of computer programs providing encryption communication sessions over a computer network using the Secure Shell protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security....
, which shipped with the 2.6 release of OpenBSD. From this version, a "portability" branch was formed to port OpenSSH to other operating systems.

It is estimated that, at the end of , there were 2,000,000 users of SSH.

, OpenSSH is the single most popular ssh implementation, coming by default in a large number of operating systems. OSSH meanwhile has become obsolete.

In 2006, the aforementioned SSH-2 protocol became a proposed Internet standard
Internet standard

In computer network engineering, an Internet Standard is a normative specification of a technology or methodology applicable to the Internet. Internet Standards are created and published by the Internet Engineering Task Force ....
 with the publication by the IETF "secsh" working group
Working Group

Working Group can mean:*Working group, an interdisciplinary group of researchers; or*Working Group , kennel club designation for certain purebred dog breeds; or...
 of RFC
Request for Comments

In computer network engineering, a request for comments is a memorandum published by the Internet Engineering Task Force describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems....
s (see references).

Uses of SSH

X11 Ssh Tunnelling
Note that SSH is a protocol that can be used for many applications. Some of the applications below may require features that are only available or compatible with specific SSH clients or servers. For example, using the SSH protocol to implement a VPN is possible, but presently only with the OpenSSH server and client implementation.
  • for login to a shell on a remote host (replacing Telnet and rlogin)
  • for executing a single command on a remote host (replacing rsh)
  • for copying files from a local server to a remote host. See SCP
    Secure copy

    Secure Copy or SCP is a means of securely transferring computer files between a local and a remote Server or between two remote hosts, using the Secure Shell protocol....
    , as an alternative for rcp
    Rcp (Unix)

    rcp stands for the Unix 'remote copy' command. It is a command on the Unix operating systems that is used to remotely copy -- to copy one or more files from one computer system to another....
  • in combination with SFTP
    SSH file transfer protocol

    In computing, the SSH File Transfer Protocol is a network protocol that provides file transfer and manipulation functionality over any reliable data stream....
    , as a secure alternative to FTP
    File Transfer Protocol

    File Transfer Protocol is a network protocol used to transfer data from one computer to another through a network such as the Internet.FTP is a file transfer protocol for exchanging and manipulating files over a Transmission Control Protocol computer network....
     file transfer
  • in combination with rsync
    Rsync

    rsync is a software application for Unix systems which synchronizes computer files and directory from one location to another while minimizing data transfer using delta encoding when appropriate....
     to backup, copy and mirror files efficiently and securely
  • for port forwarding or tunneling
    Tunneling protocol

    The term tunneling protocol is used to describe when one network protocol called the payload protocol is encapsulation within a different delivery protocol....
     a port (not to be confused with a VPN which routes packets between different networks or bridges two broadcast domain
    Broadcast domain

    A broadcast domain is a logical division of a computer network, in which all node s can reach each other by broadcasting at the data link layer....
    s into one.).
  • for using as a full-fledged encrypted VPN. Note that only OpenSSH
    OpenSSH

    OpenSSH is a set of computer programs providing encryption communication sessions over a computer network using the Secure Shell protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security....
     server and client supports this feature.
  • for forwarding X11 through multiple hosts
  • for browsing the web through an encrypted proxy connection with SSH clients that support the SOCKS protocol
    SOCKS

    SOCKS is an Internet Protocol that facilitates the routing of Packet between client-server applications via a proxy server. SOCKS is an abbreviation for "Secured Over Credential-based Kerberos Services." SOCKS performs at Layer 5 of the OSI model - the Session layer ....
    .
  • for automated remote monitoring and management of servers
  • for securely mounting a directory on a remote server as a filesystem
    File system

    In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
     on a local computer using SSHFS
    SSHFS

    SSHFS is a file system for Linux capable of operating on files on a remote computer using just a secure shell login on the remote computer. On the local computer where the SSHFS is mounted, the implementation makes use of the FUSE kernel module....
    .


SSH architecture


The SSH-2 protocol has a clean internal architecture (defined in RFC 4251) with well-separated layers. These are:
  • The transport layer (RFC 4253). This layer handles initial key exchange and server authentication and sets up encryption, compression and integrity verification. It exposes to the upper layer an interface for sending and receiving plaintext packets of up to 32,768 bytes each (more can be allowed by the implementation). The transport layer also arranges for key re-exchange, usually after 1 GB of data has been transferred or after 1 hour has passed, whichever is sooner.
  • The user authentication layer (RFC 4252). This layer handles client authentication and provides a number of authentication methods. Authentication is client-driven, a fact commonly misunderstood by users; when one is prompted for a password, it may be the SSH client prompting, not the server. The server merely responds to client's authentication requests. Widely used user authentication methods include the following:
    • "password": a method for straightforward password authentication, including a facility allowing a password to be changed. This method is not implemented by all programs.
    • "publickey": a method for public key-based authentication, usually supporting at least DSA
      Digital Signature Algorithm

      The Digital Signature Algorithm is a Federal government of the United States Federal Information Processing Standard or Federal Information Processing Standard for digital signatures....
       or RSA
      RSA

      In cryptography, RSA is an algorithm for public-key cryptography. It is the first algorithm known to be suitable for digital signature as well as encryption, and one of the first great advances in public key cryptography....
       keypairs, with other implementations also supporting X.509
      X.509

      In cryptography, X.509 is an ITU-T standard for a public key infrastructure for single sign-on and Privilege Management Infrastructure . X.509 specifies, amongst other things, standard formats for public key certificates, certificate revocation lists, attribute certificates, and a certification path validation algorithm....
       certificates.
    • "keyboard-interactive" (RFC 4256): a versatile method where the server sends one or more prompts to enter information and the client displays them and sends back responses keyed-in by the user. Used to provide one-time password
      One-time password

      The purpose of a one-time password is to make it more difficult to gain unauthorized access to restricted resources, like a computer account. Traditionally static passwords can more easily be accessed by an unauthorized intruder given enough attempts and time....
       authentication such as S/Key
      S/KEY

      S/KEY is a one-time password system developed for authentication to Unix-like operating systems, especially from dumb terminals or untrusted public computers on which one does not want to type a long-term password....
       or SecurID
      SecurID

      RSA SecurID is a mechanism developed by RSA Security for performing two-factor authentication for a user to a network resource.Overview ...
      . Used by some OpenSSH configurations when PAM
      Pluggable Authentication Modules

      Pluggable authentication modules or PAM are a mechanism to integrate multiple low-level authentication schemes into a high-level application programming interface , which allows programs that rely on authentication to be written independently of the underlying authentication scheme....
       is the underlying host authentication provider to effectively provide password authentication, sometimes leading to inability to log in with a client that supports just the plain "password" authentication method.
    • GSSAPI authentication methods which provide an extensible scheme to perform SSH authentication using external mechanisms such as Kerberos 5 or NTLM
      NTLM

      NTLM is a Microsoft authentication protocol used with the Server Message Block protocol. MS-CHAP is similar and is used for authentication with Microsoft remote access protocols....
      , providing single sign on capability to SSH sessions. These methods are usually implemented by commercial SSH implementations for use in organizations, though OpenSSH does have a working GSSAPI implementation.
  • The connection layer (RFC 4254). This layer defines the concept of channels, channel requests and global requests using which SSH services are provided. A single SSH connection can host multiple channels simultaneously, each transferring data in both directions. Channel requests are used to relay out-of-band channel specific data, such as the changed size of a terminal window or the exit code of a server-side process. The SSH client requests a server-side port to be forwarded using a global request. Standard channel types include:
    • "shell" for terminal shells, SFTP and exec requests (including SCP transfers)
    • "direct-tcpip" for client-to-server forwarded connections
    • "forwarded-tcpip" for server-to-client forwarded connections
  • The SSHFP DNS record (RFC 4255) provides the public host key fingerprints in order to aid in verifying the authenticity of the host.


This open architecture provides considerable flexibility, allowing SSH to be used for a variety of purposes beyond secure shell. The functionality of the transport layer alone is comparable to TLS
Transport Layer Security

Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
; the user authentication layer is highly extensible with custom authentication methods; and the connection layer provides the ability to multiplex many secondary sessions into a single SSH connection, a feature comparable to BEEP
BEEP

In computer networking, BEEP is a framework for creating network application protocols. It is intended to abstract-out the common features that have traditionally been duplicated in each protocol implementation....
 and not available in TLS
Transport Layer Security

Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
.

Security cautions

Since SSH-1 has inherent design flaws which make it vulnerable (e.g., man-in-the-middle attack
Man-in-the-middle attack

In cryptography, the man-in-the-middle attack or bucket-brigade attack , sometimes Janus attack, is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other over a private connection when i...
s), it is now generally considered obsolete and should be avoided by explicitly disabling fallback to SSH-1. While most modern servers and clients support SSH-2, some organizations still use software with no support for SSH-2, and thus SSH-1 cannot always be avoided.

In all versions of SSH, it is important to verify unknown public keys before accepting them as valid. Accepting an attacker's public key as a valid public key has the effect of disclosing the transmitted password and allowing man-in-the-middle attacks.

How SSH uses public-key cryptography


First, a pair of cryptographic keys is generated. One is the private key; the other is the public key. The public key is installed on the remote machine (SSH Server) and is used by ssh to authenticate users (client machine) which use private key. As a user of the public key infrastructure
Public key infrastructure

The Public Key Infrastructure is a set of hardware, software, people, policies, and procedures needed to create, manage, store, distribute, and revoke digital certificates ....
 system, you don’t care who can see or copy the public key. When the user wants to access a remote system, he opens the private key with his passphrase, and the private key to validate him with the public key on the remote computer (SSH server). Neither the passphrase nor the private key leaves the user's machine (SSH client). However, the user still needs to trust the local machine not to scrape his passphrase or copy his private key while it's out of the secure box.

See also

  • Comparison of SSH clients
    Comparison of SSH clients

    An SSH client is a software program which uses the secure shell protocol to connect to a Server . This article compares a selection of popular clients....
  • Corkscrew
    Corkscrew (program)

    Corkscrew enables the user to run Secure Shell connections over most [] and [] proxy servers. Due to Secure Shell features such as port forwarding, this can allow many types of services to be run safely over the Secure Shell via [] connections....
     - a tool that enables a user to run SSH over HTTPS
    Https

    Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol and a secure communication protocol.HTTP operates at the highest layer of the TCP/IP model, the Application layer; but the security protocol operates at lower sublayer, encrypting an HTTP message prior to transmission and decrypting a message upon arriva...
     proxy server
    Proxy server

    In computer networks, a proxy server is a server that acts as a go-between for requests from client seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server....
    s
  • Cygwin
    Cygwin

    Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment....
     allows many Linux/BSD programs to run on Windows, including the OpenSSH client and server
  • Dropbear
    Dropbear (software)

    Dropbear is a software package written by Matt Johnston that provides a Secure Shell-compatible server and client. It is designed for environments with low memory and processor resources, such as embedded systems....
     - Free SSH-2 client and server software useful for embedded systems
  • FISH - FIles transferred over SHell protocol
  • Ident
    Ident

    The Ident Protocol, specified in RFC 1413, is an Internet protocol that helps identify the user of a particular Transmission Control Protocol Telecommunication circuit....
  • OpenSSH
    OpenSSH

    OpenSSH is a set of computer programs providing encryption communication sessions over a computer network using the Secure Shell protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security....
  • Lsh
    Lsh

    lsh is a free software implementation of the Secure Shell Protocol version 2, by the GNU project including both Server and Client programs. Featuring Secure remote password protocol as specified in secsh-srp besides, public-key authentication....
     - the GNU
    GNU

    GNU is a computer operating system composed entirely of free software. Its name is a recursive acronym for GNU's Not Unix; it was chosen because its design is Unix-like, but differs from Unix by being free software and containing no Unix code....
     SSH client and server
  • PuTTY
    PuTTY

    PuTTY is a terminal emulator application which can act as a client for the Secure Shell, Telnet, rlogin, and Transmission Control Protocol computing protocols....
     - Free Serial, Telnet
    TELNET

    Telnet is a network protocol used on the Internet or Local Area Network connections. It was developed in 1969 beginning with RFC 15 and standardized as Internet Engineering Task Force STD 8, one of the first Internet standards....
    , and SSH client
  • SSHFS
    SSHFS

    SSHFS is a file system for Linux capable of operating on files on a remote computer using just a secure shell login on the remote computer. On the local computer where the SSHFS is mounted, the implementation makes use of the FUSE kernel module....
     - Secure protocol to share files over SSH
  • TeraTerm - Free Serial, Telnet
    TELNET

    Telnet is a network protocol used on the Internet or Local Area Network connections. It was developed in 1969 beginning with RFC 15 and standardized as Internet Engineering Task Force STD 8, one of the first Internet standards....
    , and SSH client
  • Transport Layer Security
    Transport Layer Security

    Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
  • VNC
    Virtual Network Computing

    In computing, Virtual Network Computing is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer....
     can be tunneled through SSH to securely access a remote machine that is behind a firewall
  • Web-based SSH
    Web-based SSH

    Web-based Secure Shell makes it possible to access Secure Shell servers through standard web browsers. Respective clients are based on JavaScript/AJAX and can be used to anonymously access Secure Shell servers from behind any firewall or proxy....
     - Access to SSH servers through standard web browsers
  • WinSCP
    WinSCP

    WinSCP is an open source SSH file transfer protocol and File Transfer Protocol client for Microsoft Windows. Its main function is secure file transfer between a local and a remote computer....


Further reading

  • Daniel J. Barrett, Richard E. Silverman, and Robert G. Byrnes — SSH: The Secure Shell (The Definitive Guide), O'Reilly 2005 (2nd edition). ISBN 0-596-00895-3
  • Michael Stahnke — Pro OpenSSH, Apress 2005 ISBN 1-59059-476-2
Original announcement of Ssh by Tatu Ylönen
  • Himanshu Dwivedi; Implementing SSH, Wiley 2003. ISBN 978-0-471-45880-7


External links

  • (for SSH-2)
  • - Home to the most widely used SSH implementation
  • - An OpenSSH server implementation for Windows
  • - SSH2 protocol for Python
    Python (programming language)

    Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....