What is Secure Shell (SSH)‏‏ ? – Network Communication

Secure Shell (SSH)

  • Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for Telnet and other insecure remote shells, which send information, notably passwords, in plaintext, leaving them open for interception. The encryption used by SSH provides confidentiality and integrity of data over an insecure network, such as the Internet.
  • SSH uses public-key cryptography to authenticate 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, forwarding TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols. SSH uses the client-server model.
  • The standard TCP port 22 has been assigned for contacting SSH servers.

 



SSH is a protocol that can be used for many applications.

  • 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, as an alternative for rcp
  • In combination with SFTP, as a secure alternative to FTP file transfer
  • In combination with rsync to backup, copy and mirror files efficiently and securely
  • For port forwarding or tunneling a port (not to be confused with a VPN which routes packets between different networks or bridges two broadcast domains into one.).
  • For using as a full-fledged encrypted VPN. Note that only OpenSSH 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.
  • For securely mounting a directory on a remote server as a filesystem on a local computer using SSHFS.
  • For automated remote monitoring and management of servers through one or more of the mechanisms as discussed above.