Confusing! ssh, ssh1, ssh2, etc.

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I've tried searching for answers to my questions but SSH2 gives me a lot of
false hits. One good page is -

This is how I understand the current situation of SSH. PLEASE correct any

SSH Communications Corp has ssh1 and ssh2 as separate programs.
OpenSSH has both protocol 1 and protocol 2 in one program.

SSH Comm Corp's ssh1 uses the same protocol as OpenSSH's protocol 1, but
SSH Comm Corp's ssh2 uses a completely different protocol than OpenSSH's
protocol 2.

I'm able to connect from my OpenSSH box into an SSH Comm Corp server just
fine, where the server only has ssh2 installed. (The opposite is also true;
I can connect from SSH Comm Corp box to OpenSSH box.) This implies that
OpenSSH's protocol 2 (not protocol 1) and ssh2 are somehow compatible.

However, the two are for some obscure reason incompatible when it comes to
scp, as that web page described. (1) Can anyone explain this? (2) And does
anybody know if there's any way around this (short of downloading SSH Comm
Corp's proprietary ssh2 client, or using sftp...see below)?

Lastly, is sftp simply an interface on top of scp (that is, it's just a
shell that uses scp or some identical code from scp to do transfers)?
That's what I thought, until I found that sftp still works (though scp

Can anybody clear up these issues? Thanks in advance!

Re: Confusing! ssh, ssh1, ssh2, etc.

Quoted text here. Click to load it


Yes and no.  SCS originally supported SSH-1 only by calling other programs
on both the client and server side (and did not supply those programs
itself).  Later they added client-side support for SSH-1 directly.

Quoted text here. Click to load it


No; they are the same.  Note however that protocol compatibility does not
immediately guarantee that everything will "work" from a user's
perspective; there are plenty of other things that can go wrong.

Quoted text here. Click to load it

The problem has nothing to do with the protocols, but rather with
an implementation mixups regarding program locations/names.

Quoted text here. Click to load it

The page says:

"The solution is to install either the OpenSSH or SSH1 version of scp on
 the server under the name "scp1," somewhere in the sshd2's PATH."

Quoted text here. Click to load it

The "sftp" program uses the sftp protocol and expects an sftp server
available as a subsystem on the SSH server.  The SCS "scp" program is
simply a different interface to the sftp protocol.  The OpenSSH "scp"
program uses a completely different protocol, essentially rcp, over an SSH
exec channel obtained by running "ssh" in a subprocess.

  Richard Silverman

Site Timeline