This section will be expanded when I have less negative spare time. In the meantime, if you really need assistance with the installation or administration of the ssh package and it is on a machine that is in CUED, then you can try asking jpmg@eng.cam.ac.uk for assistance. No guarantees of useful response times at the moment, however.
Secondly, if you wish to install ssh on an HP-UX machine, contact me (jpmg) first, as there are some problems with HP's management of authentication that require patches that are not yet integrated into the main ssh sources.
Among the sensible places to get the source distribution of ssh if you're downloading to CUED are:
If you don't know what to do with a.tar.gz file, then the
rest of this page isn't going to make sense either.
There are a number of gotchas to building ssh :
ssh - one
is as a set of separate utilities that people can, if they choose
use instead of rsh, rlogin and rcp.
This is the way that I've done it and the rest of this page documents.
The second way is to build them so that they can be used as
replacements for rsh, rlogin and
rcp. That is, when someone thinks they're running
rlogin, they'll actually be running slogin.
If you choose to take this more draconian, mandatory approach to
security, you're on your own, although some of the points below may
still be of use.
configure program is
immense. In practice, the only ones I've had to worry about were
--prefix, --with-etcdir, and in some
cases --with-path. All the ones to do with feature or
package selection (typically whether to compile in a particular
crypto algorithm or not) come with very sensible defaults.
--prefix determines where the bin,
man, and sbin, directories go
under. The client executables wind up in bin,
and the server executable goes in sbin
--prefix=/usr/local/ssh is what I've chosen on
most platforms
--prefix=/opt/ssh may be more appropriate for
HPUX10 or Solaris2
--with-etcdir determines where the etc
directory goes. This is where the per-machine information, such
as host public and private keys, lists of known host public keys,
server run-time key, client and server configuration files go.
--with-etcdir=/etc/ssh is what I've chosen on
most platforms
--with-etcdir=/opt/ssh/etc is what we've used on
the teaching system.
/opt/ssh - this works on the teaching system because
it is per-machine, but may well not be on another system.
--with-path determines what the default path a user
who logs in via slogin or ssh will get
in their environment before any initialisation files get run.
I've only had to set it on Solaris 2 machines (otherwise
the default didn't include /usr/sbin! I've used
--with-path=/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/ucb:/usr/bin/X11:/usr/local/bin
in this case.
On all other platforms, leave it as the default (ie don't use this configuration option)
make clean on, but I'd
recommend doing a make distclean or un-tarring from scratch
between architectures.
make distclean, and then set the environment
variables CC and CFLAGS appropriately before running
configure again. I would regard this as a better approach
that using the --disable-asm option.
sshd (ie one running as root), then any ident requests
performed by a remote host will be told that the operation was performed
by root@host rather than user@host. This is a BAD THING.
Therefore it is strongly recommended that the file sshd_config
in the /etc/ssh (or appropriate) directory, should have the
line
AllowTcpForwarding no
appended to it.
This doesn't prevent users from doing port forwarding - it just means that they have to run their own copy of the sshd (running as them rather than as root, and thus generating valid ident responses) in order to do so.
The most important things to remember are: