© Copyright Robert Vasvari, 1993-98.

Secure Shell Protocol (SSH)

RBrowser is now compatible ssh 1.2.x (currently 1.2.27) AND ssh 2.x (currently 2.0.12) .

Requirements on the client side (the machine that runs RBrowser):
There must be a working ssh client installed, ie. you must be able to just pull up a terminal and type "ssh RemoteHost" and be able to connect successfully. The standard path for this client is /usr/local/bin/ssh. It does not matter what kind of authentication ssh uses to connect to the remote host (RSA or password).

Requirements on the server side (the machine that RBrowser is connecting to): The remote host must run sshd, and your client machine must be authorized to connect to it.

How does it work: The SSH protocol is implemented differently from UNIX or FTP because RBrowser actually does not contain any ssh client code. Nor does it contain any crypto code. There are many reasons for this, mainly licensing problems for RSA and the inexcusable export restrictions on anything that contains crypto. So, for each connection RBrowser establishes to the remote host, RBrowser runs the ssh client as a subprocess in the background, and uses it as a transport vehicle. All of this, of course, goes on in the background, you do not have to lift a finger to get all this into motion. Just select SSH in the protocol popup on the Login Panel, fill out the required fields and hit "Login".

The first time you make an SSH connection, RBrowser will look for the default ssh client (ssh) in /usr/local/bin. If it is not there, you will be prompted to enter the path of the ssh client. This path will then be stored in the SSHClientPath default.

It is possible that your ssh connection does not require a passphrase/password or even a username. Therefore, it is OK the leave those fields blank.

Once the SSH connection is established, it acts just like the UNIX protocol, namely that RBrowser talks to a (or several) shell(s) on the remote host. For this reason there are no SSH specific configuration options to set. The Connection Preferences Panel for an SSH connection looks just like that of the UNIX connection.

File Transfer: Under the ssh protocol RBrowser uses scp for file transfers. scp should reside in the same directory as the ssh client (usually in /usr/local/bin). RBrowser does its best to find it, if it cannot be found, you will see a panel asking for the full path of scp. The most important new feature: if you have two remote ssh connections, you can transfer files from one to the other DIRECTLY by simply dragging and dropping as usual!

SSH1 versus SSH2 compatibility: Today many systems use ssh2 while still many use ssh1 (or a compatibe free implementation like openssh. RBrowser does nothave the client in it, rather it uses whatever client you tell it to use. By default it uses the first 'ssh' it finds in your path. In the Connection Preferences Panel for each connection you can define which ssh/scp client you want RBrowser to use. This is important because manay systems today have both ssh1 and ssh2 clients installed. This way, for each connection you can use a different ssh client. You MUST check the Connection Preferences Panel before you log in . There is a button on the Login Panel called "Set Preferences". This panel lets you decide which local ssh/scp client s you want to use with this connection. If, once you log in, you get messages like "Protocol Version is not supported", it means that you are not using the correct ssh client. Please contact your system administrator to find out what the correct ssh version is, and TEST your connections on the command line before using RBrowser to connect to a remote host. This is the best way to make sure things work smoothly.

Compatibility is very important when you do Direct File Transfers between remote hosts. If one of them is ssh1 the other has ssh2 server installed, they probably cannot talk to each other unless the ssh2 server is in ssh1 compatibility mode. For instance, if you get messages like "Wrong protocol version" or simply "The connection is lost, disconnected", there most likely is an ssh1-ssh2 mismatch between the two machines. You can get around this by specifying the correct Remote SCP Client in the Connection Preferences Panel for the Source ssh connection (shown below). Example: Host A has SSH2 server. Host B has SSH1 and SSH2 client installed. You are copying a file from B to A. You must specify the scp2 client in the Connection Preferences Panel/Remote SCP Client, and things will work just fine.

Known problems: If RBrowser is terminated unexpectedly (like killed in the Process Viewer) it can leave ssh processes behind. These processes still grab a tty. That, in turn, can cause subseqent ssh login (to any host) fail. If you see messages like "ssh has terminated" this might be the problem. This problem is caused by a bug in the kernel. The only workaround is to manually kill these ssh processes in the Process Viewer and restart RBrowser.

Places to obtain SSH 1.2.x:

You must use the excellent OpenStep/Rhapsody ports of ssh 1.2.x made by Rex Dieter. For MacosX, use the Rhapsody port. They are available at the following locations for NEXTSTEP, OPENSTEP and Rhapsody:
http://www.peak.org/next/apps/internet/ssh
http://www.peak.org/openstep/mach/apps/internet
http://www.peak.org/apple/rhapsody/Applications/Unix/Network/security/
FreeBSD:
Ports Collection, /usr/ports/security/ssh
Debian Linux:
dselect, choose access method ftp
ftp site: nonus.debian.org
ftp dir: pub/debian-non-US
distributions: dists/unstable/non-US
RedHat Linux:
ftp://ftp.replay.com/pub/crypto/redhat/
Other UNIX systems: (source code)
ftp://ftp.cs.hut.fi/pub/ssh/


RBrowser Main Page

RBrowser ® is a product of Object Warehouse Inc.