When Ssh1Compatibility is enabled, and an SSH-1 client connects to the SSH2 server, the two programs exchange strings indicating their versions. [Section 3.4.1, "Establishing the Secure Connection"] sshd2 then locates the sshd1 executable by examining the value of the Sshd1Path keyword:# SSH2 only Ssh1Compatibility yes
sshd2 then invokes an sshd1 process, passing the client's version string to sshd1 using the -V command-line option:[75]# SSH2 only Sshd1Path /usr/local/bin/sshd1
[75]Note that you need at least Version 1.2.26 (F-Secure 1.3.6) of SSH1 to use the compatibility mode, since this option isn't implemented in earlier versions.
The -V command-line option is for internal use only by sshd2. It is necessary because when sshd1 starts this way, the client has already sent its initial version announcement, which sshd1 needs to get somehow. We can't think of any practical reason to use this option manually, but we mention it here for completeness. When you compile and install SSH2, if SSH1 is already installed, then the configure script [Section 4.1.4, "Building and Installing SSH2"] automatically sets the internal, compiled-in defaults for Ssh1Compatibility to yes, and for Sshd1Path to the correct path to sshd1. If SSH1 isn't installed, then the compiled defaults are no for Ssh1Compatibility and the null string for Sshd1Path. The OpenSSH server also implements the -V option, so that you can use OpenSSH instead of SSH1 for SSH2 backward-compatibility mode.# SSH2 only, invoked automatically by sshd2 /usr/local/bin/sshd1 -V "client version string" <other arguments>
WARNING: Although sshd2 can accept and reroute SSH1 client connections, the reverse isn't true: sshd1 can't accept SSH2 connections.
5.8. History, Logging, and Debugging | 5.10. Summary |
Copyright © 2002 O'Reilly & Associates. All rights reserved.