Building the SSH Server
The source files for the server, when unpacked from the zip file, all reside
in one directory. To compile and build the executables:
- Edit ssl_location.mms and change the lines that being "!ssllib =" and
"!sslinc =", removing the "!" and modifying the values to reflect the
correct directories for your SSLeay installaction's library and
header (include) files.
- Compile/link the executables using one of the following commands:
- Alpha:
-
$ MMS all
$ @BUILD_SSH_SERVER.COM
- VAX:
-
- $ MMS/macro=vax_build=1 all
$ @BUILD_SSH_SERVER-VAX.COM
Once built, several more steps must be taken to
complete the installation.
Description of Server Images
A successful build will produce 6 VMS executable images and, on Alphas, a
shareable image:
- SSH_SERVER.EXE
-
Main server image, runs in a detached process created by
ssh_server_startup.com. Server uses DECthreads to concurrently serve
multiple SSH client and connections. The sole command line argument
for this program is the name of the parameter
file, which contains the site-specific configuration settings for the server.
- RSA_ENGINE.EXE
-
This program runs in a sub-process of the server process and handles the
computationally intensive RSA decryption used to exchange a new connection's
session key. Minimizing the computation the main server process does in
this way allows the server to run at a higher priority without adversely
affecting the rest of the system.
- KEY_GENERATOR.EXE
-
This program runs in a sub-process of the server process and handles periodic
generation of new RSA server keys (skey.pem). Key generation is CPU intensive,
running it in a separate process allows the system administrator the option
of increasing the server process priority with adverse impact while the
key generation takes place.
- INITIATOR.EXE
-
This program runs in a sub-process of the server process and handles creating
the user login processes (under client's username) for client connections.
Using a separate process avoids needing to deal with any complex interactions
between the $PERSONA services and DECthreads.
- SSH_LOGINOUT.EXE
-
This program is invoked by the SSH_LOGIN.COM procedure and handles the
privileged operations done by the user process to complete the SSH login.
The SYSUAF entry for the user is fixed up to reflect the correct 'last login'
date for interactive/non-interactive login. If the SSH client requested
X11 forwarding, this program exits with a "SET DISPLAY" command to set the
user's X display to the server's fake X11 server.
- SETHOST_SSH.EXE
- Primitive client program for exercising SSH server when other client's
aren't available.
- Command line syntax:
$ sethost_ssh [-l username] [-p port] [-c cipher] host [command]
-
- SSHCRYPTOSHR (alpha only)
- Shareable image that provides the common cryptographic routines used by
several of the other executable images. This is the only image that references
the SSLeay cryptographics library directly.