All About SSH - Part I/II

Replacing telnet/rlogin/rsh with SSH

Name:
Email:

Security Portal
Weekly Newsletter

Denial of Service Research Center

By SeáÏ Boran

Feb 14, 2000. This article presents an overview of SSH, the Secure SHell. This is the first part of a two part series, introducing SSH and the major implementations - except OpenSSH.
Part2 will focus on the new OpenSSH.

SSH is so useful, easy to use and so much more secure than the archaic telnet/rlogin/rsh, that no UNIX system should be installed without it. Ideally all OS vendors would follow the example of OpenBSD & Suse, and bundle SSH with the OS.

We welcome your feedback on this article.


  1. SSH Overview
  2. Why SSH?
    Features
    Licensing & cost
    U.S. Export and Patent Restrictions
    Advantages
    Disadvantages

  3. Implementations
  4. Compiling & Configuring
  5. Doing even more with SSH
  6. References

SSH Overview

Secure Shell (SSH) was originally authored by Tatu Ylen, Finland, is a secure replacement for Telnet, rlogin, rcp, rsh and provides secured TCP tunnels. Optional compression of traffic is provided and can also be used together with many Authentication schemes such as SecurID, Kerberos, S/KEY to provide a highly secure remote access point to UNIX servers.

SSH1 was the the first version (protocol v1.2 and v1.5) that was free in the earlier days, but licensing has become more restrictive and SSH Communications and DataFellows are trying to get people to move to the newer SSH2 (which is commercial). However SSH1 is destined for a long life as freeware, now that OpenSSH has been produced by the OpenBSD team and community.

Why SSH?

The Telnet, rlogin, rcp, rsh commands have a number of security weakness: all communications are in clear text and no machine authentication takes place. These commands are open to eavesdropping and tcp/ip address spoofing. A second key UNIX tool, the X11 windows system, also communicates in clear text, uses dynamic ports (making packet filtering difficult) and has a difficult-to-use access control mechanism "xhosts" and "xauth", that few users understand and hence X11 access control is often insecure on UNIX desktops.

SSH uses public/private key RSA authentication to check the identity of communicating peer machines, encryption of all data exchanged (with strong algorithms such as blowfish, 3DES, IDEA etc.). Backwards compatibility to rlogin/rsh and their trust files (rhosts, hosts.equiv) is provided to allow communication with non SSH servers. Optionally, an encrypted tunnel for X11 communications can be automatically setup by SSH (using the xauth access control and DISPLAY environment variable).

So SSH protects against:

SSH does not protect against:

Features

SSH can be used to log-in securely into another computer over a network, execute commands on a remote machine, and copy files from one machine to another. SSH provides strong authentication and secure communications over insecure channels. It is intended as a replacement for rlogin, rsh, and rcp. Additionally, SSH provides secure X11 connections and secure forwarding of arbitrary TCP connections.

SSH2 is the new protocol version, submitted to the IETF for approval by SSH Communications. It is rewritten (improved cryptography) and is designed for more general purpose VPNs. SSH2:

Licencing and Cost

Today there are many versions of SSH, some implement client only, some both client and server. Commercial, freeware and "restricted freeware" licensing is in use. The original SSH (SSH1) implemented by Tatu Ylen was free, but versions later than 1.2.12 have restrictive licensing. The current SSH1 v1.2.27 indicates that it may only be used for non-commercial purposes only, but it would seem that most situations would allow free usage:

For commercial licensing please contact Data Fellows, Ltd. Data Fellows has exclusive licensing rights for the technology for commercial purposes.....
You may use the program for non-commercial purposes only, meaning that the program must not be sold commercially as a separate product, as part of a bigger product or project, or otherwise used for financial gain without a separate license...
Use by individuals and non-profit organizations is always allowed...
Companies are permitted to use this program as long as it is not used for revenue-generating purposes..

SSH2 has a more restrictive licensing, basically meaning it is only free for non-profit organisations:

NON-COMMERCIAL: any use that takes place in commercial, governmental, military, or similar organizations and where a salary or similar monetary compensation is paid, unless the use can be considered to be EDUCATIONAL USE or is purely for charity.

Commercial versions are produced by DataFellows and cost about $99 for clients and $500 for servers.

U.S. Export and Patent Restrictions

SSH contains strong cryptography (no weak versions exist), which make it a no-no to export from the U.S., under the current regulations (which will hopefully change in the coming months). Luckily, SSH1 was developed in Finland meaning export to the U.S. and the rest of the world is no problem.

The RSA algorithm is patented in the U.S., so U.S. users of SSH have to use RSAREF, an official RSA library and pay royalties to RSA. This patent expires in September 2000 however.

Both of these issues make is very difficult for U.S. Operating System vendors to bundle SSH with their product. OpenBSD (based in Canada) and S.u.s.e Linux (Germany) both bundle SSH.

The IDEA algorithm is patented by Ascom in Switzerland (and only free for non-commercial use), is used by SSH, but it can be disabled when compiling the SSH server.

Advantages
Disadvantages

Implementations

SSH server & client for UNIX/Linux

SSH1 for UNIX is available as a free or commercial product (from DataFellows). It is the "original" SSH, but is not being further developed at the moment (except for fixes). The emphasis is now on the commercial SSH2.

SSH2 from DataFellows is a commercial product for UNIX, Windows or Mac. There is a free version for non-commercial use, but licensing is pretty restrictive. The SSH2 home page is www.ssh.fi.

LSH: Efforts are underway to develop LSH, a free version of SSH2 www.net.lut.ac.uk/psst. It has not yet reached a stable release status.

Mindterm SSH (Free Java SSH client)

Mindterm is a free (GPL) SSH client written in 100% pure Java. It can be run as a stand-alone program or as an applet in a webpage. It can be run with or without a GUI. It has other useful features: scp - file copying and a special ftp-tunnel which works with "ordinary" ftpd's "behind" the sshd.

The current version is v1.1.5, see http://www.onlineitdegree.net/mindterm/ . Mindterm SSH has been tested by the author for several months as a standalone application (not an applet) on NT4, Win95 and Solaris 2.5:

Windows SSH clients
Other architectures

Compiling & Configuration


SSH1 Compilation
SSH1 configuration
Mindterm SSH installation


Doing even more with SSH


References

  1. Security Portal Research Centre
  2. Documentation:
    SSH FAQ www.employees.org/~satch/ssh/faq
    Getting Started with SSH by Kimmo Suominen www.tac.nyc.ny.us/~kim/ssh
  3. Getting SSH
    See the links in the Implementation section above.
  4. Search for SSH pages on the net: www.links2go.com/topic/SSH

SeáÏ Boran is an IT security consultant based in Switzerland and the author of the online IT Security Cookbook.  Last Update: 03 February, 2000

Add SecurityPortal.com Top News to your My Netscape page

Get SecurityPortal for your PalmPilot!




Security Portal
Ž© Copyright 2000, SecurityPortal Inc., All Rights Reserved