blob: 26d62976bdf63e931615cfc0841ff64c63df4ab3 [file] [log] [blame]
Damien Millerb5f89271999-11-12 14:35:58 +110011. Prerequisites
2----------------
3
4You will need working installations of Zlib and OpenSSL.
5
Darren Tucker42d30822003-09-22 13:28:36 +10006Zlib 1.1.4 or greater:
Damien Millera8e06ce2003-11-21 23:48:55 +11007http://www.gzip.org/zlib/
Damien Millerb5f89271999-11-12 14:35:58 +11008
Ben Lindstromdc163542002-03-07 17:49:39 +00009OpenSSL 0.9.6 or greater:
Damien Millerb5f89271999-11-12 14:35:58 +110010http://www.openssl.org/
11
Damien Millera8e06ce2003-11-21 23:48:55 +110012(OpenSSL 0.9.5a is partially supported, but some ciphers (SSH protocol 1
Damien Miller6d8d7882002-07-25 14:36:24 +100013Blowfish) do not work correctly.)
Damien Millere71eb912000-04-13 12:19:32 +100014
Damien Millerb5f89271999-11-12 14:35:58 +110015OpenSSH can utilise Pluggable Authentication Modules (PAM) if your system
Kevin Stevesdf4a7ae2000-11-07 14:47:51 +000016supports it. PAM is standard on Redhat and Debian Linux, Solaris and
17HP-UX 11.
Damien Millerb5f89271999-11-12 14:35:58 +110018
Damien Millera8e06ce2003-11-21 23:48:55 +110019NB. If you operating system supports /dev/random, you should configure
20OpenSSL to use it. OpenSSH relies on OpenSSL's direct support of
21/dev/random. If you don't you will have to rely on ssh-rand-helper, which
Damien Millerbd638742002-04-17 12:22:58 +100022is inferior to a good kernel-based solution.
23
Damien Millerb5f89271999-11-12 14:35:58 +110024PAM:
25http://www.kernel.org/pub/linux/libs/pam/
26
Damien Miller780b3761999-12-26 13:36:11 +110027If you wish to build the GNOME passphrase requester, you will need the GNOME
Damien Millerb5f89271999-11-12 14:35:58 +110028libraries and headers.
29
30GNOME:
31http://www.gnome.org/
32
Darren Tucker0ffe6382004-05-27 09:59:31 +100033Alternatively, Jim Knoble <jmknoble@pobox.com> has written an excellent X11
Damien Miller7d7c60d2000-01-26 14:37:48 +110034passphrase requester. This is maintained separately at:
Damien Miller780b3761999-12-26 13:36:11 +110035
Damien Miller80409392003-09-19 17:05:24 +100036http://www.jmknoble.net/software/x11-ssh-askpass/
Damien Miller780b3761999-12-26 13:36:11 +110037
Damien Miller0736c4d2001-01-25 10:51:46 +110038PRNGD:
39
Damien Millera8e06ce2003-11-21 23:48:55 +110040If your system lacks Kernel based random collection, the use of Lutz
Damien Miller0736c4d2001-01-25 10:51:46 +110041Jaenicke's PRNGd is recommended.
42
43http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html
44
45EGD:
46
Damien Miller54057c22000-05-09 15:03:37 +100047The Entropy Gathering Daemon (EGD) is supported if you have a system which
48lacks /dev/random and don't want to use OpenSSH's internal entropy collection.
Damien Millerb5f89271999-11-12 14:35:58 +110049
Damien Millerb5f89271999-11-12 14:35:58 +110050http://www.lothar.com/tech/crypto/
51
Ben Lindstrom305fb002000-11-10 02:41:30 +000052S/Key Libraries:
53http://www.sparc.spb.su/solaris/skey/
54
Darren Tucker16bcc1c2004-11-07 20:14:34 +110055LibEdit:
56
57sftp now supports command-line editing via NetBSD's libedit. If your
58platform has it available natively you can use that, alternatively
59you might try these multi-platform ports:
60http://www.thrysoee.dk/editline/
61http://sourceforge.net/projects/libedit/
62
Ben Lindstrom305fb002000-11-10 02:41:30 +000063If you wish to use --with-skey then you will need the above library
64installed. No other current S/Key library is currently known to be
Damien Millera8e06ce2003-11-21 23:48:55 +110065supported.
Ben Lindstromca1c2a02000-10-14 21:33:19 +000066
Damien Millerb5f89271999-11-12 14:35:58 +1100672. Building / Installation
68--------------------------
69
70To install OpenSSH with default options:
71
72./configure
73make
74make install
75
76This will install the OpenSSH binaries in /usr/local/bin, configuration files
77in /usr/local/etc, the server in /usr/local/sbin, etc. To specify a different
78installation prefix, use the --prefix option to configure:
79
80./configure --prefix=/opt
81make
82make install
83
Damien Millera8e06ce2003-11-21 23:48:55 +110084Will install OpenSSH in /opt/{bin,etc,lib,sbin}. You can also override
Damien Millerb5f89271999-11-12 14:35:58 +110085specific paths, for example:
86
87./configure --prefix=/opt --sysconfdir=/etc/ssh
88make
89make install
90
91This will install the binaries in /opt/{bin,lib,sbin}, but will place the
92configuration files in /etc/ssh.
93
Kevin Steves32c97c32001-04-20 20:56:21 +000094If you are using PAM, you may need to manually install a PAM control
95file as "/etc/pam.d/sshd" (or wherever your system prefers to keep
96them). Note that the service name used to start PAM is __progname,
97which is the basename of the path of your sshd (e.g., the service name
98for /usr/sbin/osshd will be osshd). If you have renamed your sshd
99executable, your PAM configuration may need to be modified.
100
101A generic PAM configuration is included as "contrib/sshd.pam.generic",
102you may need to edit it before using it on your system. If you are
103using a recent version of Red Hat Linux, the config file in
104contrib/redhat/sshd.pam should be more useful. Failure to install a
105valid PAM file may result in an inability to use password
106authentication. On HP-UX 11 and Solaris, the standard /etc/pam.conf
107configuration will work with sshd (sshd will match the other service
Kevin Stevesdf4a7ae2000-11-07 14:47:51 +0000108name).
Damien Miller755c90c1999-11-22 16:12:31 +1100109
Damien Millerb5f89271999-11-12 14:35:58 +1100110There are a few other options to the configure script:
111
Damien Miller5c3a5582003-09-23 22:12:38 +1000112--with-pam enables PAM support. If PAM support is compiled in, it must
113also be enabled in sshd_config (refer to the UsePAM directive).
Damien Millerb5f89271999-11-12 14:35:58 +1100114
Damien Millera8e06ce2003-11-21 23:48:55 +1100115--with-prngd-socket=/some/file allows you to enable EGD or PRNGD
116support and to specify a PRNGd socket. Use this if your Unix lacks
117/dev/random and you don't want to use OpenSSH's builtin entropy
Damien Millerd0ccb982001-03-04 00:29:20 +1100118collection support.
119
Damien Millera8e06ce2003-11-21 23:48:55 +1100120--with-prngd-port=portnum allows you to enable EGD or PRNGD support
121and to specify a EGD localhost TCP port. Use this if your Unix lacks
122/dev/random and you don't want to use OpenSSH's builtin entropy
Damien Miller0736c4d2001-01-25 10:51:46 +1100123collection support.
Damien Millerb5f89271999-11-12 14:35:58 +1100124
Damien Millera8e06ce2003-11-21 23:48:55 +1100125--with-lastlog=FILE will specify the location of the lastlog file.
Damien Miller8bdeee21999-12-30 15:50:54 +1100126./configure searches a few locations for lastlog, but may not find
127it if lastlog is installed in a different place.
128
129--without-lastlog will disable lastlog support entirely.
130
Damien Millera8e06ce2003-11-21 23:48:55 +1100131--with-osfsia, --without-osfsia will enable or disable OSF1's Security
Ben Lindstrom72af2ef2001-05-08 20:42:28 +0000132Integration Architecture. The default for OSF1 machines is enable.
133
Damien Millera8e06ce2003-11-21 23:48:55 +1100134--with-skey=PATH will enable S/Key one time password support. You will
Ben Lindstrom305fb002000-11-10 02:41:30 +0000135need the S/Key libraries and header files installed for this to work.
Damien Millerc0967271999-11-19 15:53:50 +1100136
137--with-tcp-wrappers will enable TCP Wrappers (/etc/hosts.allow|deny)
138support. You will need libwrap.a and tcpd.h installed.
139
140--with-md5-passwords will enable the use of MD5 passwords. Enable this
Darren Tucker0d37b5c2003-10-21 12:41:14 +1000141if your operating system uses MD5 passwords and the system crypt() does
142not support them directly (see the crypt(3/3c) man page). If enabled, the
143resulting binary will support both MD5 and traditional crypt passwords.
Damien Miller3d1b22c1999-11-12 15:46:08 +1100144
Damien Millera8e06ce2003-11-21 23:48:55 +1100145--with-utmpx enables utmpx support. utmpx support is automatic for
Damien Miller8bdeee21999-12-30 15:50:54 +1100146some platforms.
147
148--without-shadow disables shadow password support.
149
Damien Millera8e06ce2003-11-21 23:48:55 +1100150--with-ipaddr-display forces the use of a numeric IP address in the
Damien Miller8bdeee21999-12-30 15:50:54 +1100151$DISPLAY environment variable. Some broken systems need this.
152
153--with-default-path=PATH allows you to specify a default $PATH for sessions
Damien Miller29ea30d2000-03-17 10:54:15 +1100154started by sshd. This replaces the standard path entirely.
Damien Miller8bdeee21999-12-30 15:50:54 +1100155
Damien Miller5eed6a22000-01-16 12:05:18 +1100156--with-pid-dir=PATH specifies the directory in which the ssh.pid file is
157created.
158
159--with-xauth=PATH specifies the location of the xauth binary
160
Damien Miller0c0e4bf2000-02-03 13:58:51 +1100161--with-ssl-dir=DIR allows you to specify where your OpenSSL libraries
162are installed.
163
Damien Millerfd263682000-03-16 11:51:09 +1100164--with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to
165real (AF_INET) IPv4 addresses. Works around some quirks on Linux.
166
Ben Lindstroma42694f2002-04-05 16:11:45 +0000167--with-opensc=DIR
168--with-sectok=DIR allows for OpenSC or sectok smartcard libraries to
169be used with OpenSSH. See 'README.smartcard' for more details.
170
Damien Millerbeb4ba51999-12-28 15:09:35 +1100171If you need to pass special options to the compiler or linker, you
Damien Miller615f9392000-05-17 22:53:33 +1000172can specify these as environment variables before running ./configure.
Damien Millerbeb4ba51999-12-28 15:09:35 +1100173For example:
174
Damien Millerb5c42d92000-08-31 11:13:10 +1100175CFLAGS="-O -m486" LDFLAGS="-s" LIBS="-lrubbish" LD="/usr/foo/ld" ./configure
Damien Millerb5f89271999-11-12 14:35:58 +1100176
1773. Configuration
178----------------
179
Damien Millera8e06ce2003-11-21 23:48:55 +1100180The runtime configuration files are installed by in ${prefix}/etc or
Damien Millerb5f89271999-11-12 14:35:58 +1100181whatever you specified as your --sysconfdir (/usr/local/etc by default).
182
Damien Millera8e06ce2003-11-21 23:48:55 +1100183The default configuration should be instantly usable, though you should
Damien Millerb5f89271999-11-12 14:35:58 +1100184review it to ensure that it matches your security requirements.
185
Damien Miller4095f892000-03-03 22:13:52 +1100186To generate a host key, run "make host-key". Alternately you can do so
Damien Millera8e06ce2003-11-21 23:48:55 +1100187manually using the following commands:
Damien Miller2a9d9f61999-11-15 23:34:11 +1100188
Damien Miller86093322001-02-18 12:58:24 +1100189 ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
190 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
191 ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
Damien Miller2a9d9f61999-11-15 23:34:11 +1100192
Damien Miller6ae00d61999-12-14 15:43:03 +1100193Replacing /etc/ssh with the correct path to the configuration directory.
Damien Millera8e06ce2003-11-21 23:48:55 +1100194(${prefix}/etc or whatever you specified with --sysconfdir during
Damien Miller6ae00d61999-12-14 15:43:03 +1100195configuration)
196
Damien Millerab8a4da1999-12-16 13:05:30 +1100197If you have configured OpenSSH with EGD support, ensure that EGD is
198running and has collected some Entropy.
199
Damien Millera8e06ce2003-11-21 23:48:55 +1100200For more information on configuration, please refer to the manual pages
Damien Millerb5f89271999-11-12 14:35:58 +1100201for sshd, ssh and ssh-agent.
202
Damien Miller6ae00d61999-12-14 15:43:03 +11002034. Problems?
204------------
205
Damien Millera8e06ce2003-11-21 23:48:55 +1100206If you experience problems compiling, installing or running OpenSSH.
Damien Miller6ae00d61999-12-14 15:43:03 +1100207Please refer to the "reporting bugs" section of the webpage at
Damien Miller615f9392000-05-17 22:53:33 +1000208http://www.openssh.com/
Damien Miller6ae00d61999-12-14 15:43:03 +1100209
Damien Millere9cf3572001-02-09 12:55:35 +1100210
Darren Tucker16bcc1c2004-11-07 20:14:34 +1100211$Id: INSTALL,v 1.65 2004/11/07 09:14:34 dtucker Exp $