]> andersk Git - openssh.git/blame - INSTALL
- (dtucker) [INSTALL] Group the parts describing random options and PAM
[openssh.git] / INSTALL
CommitLineData
8bc7973f 11. Prerequisites
2----------------
3
4You will need working installations of Zlib and OpenSSL.
5
5c7fc85d 6Zlib 1.1.4 or 1.2.1.2 or greater (ealier 1.2.x versions have problems):
aff51935 7http://www.gzip.org/zlib/
8bc7973f 8
4ca33cc5 9OpenSSL 0.9.6 or greater:
8bc7973f 10http://www.openssl.org/
11
aff51935 12(OpenSSL 0.9.5a is partially supported, but some ciphers (SSH protocol 1
d40af5fa 13Blowfish) do not work correctly.)
c323ac76 14
10f1064f 15The remaining items are optional.
16
aff51935 17NB. If you operating system supports /dev/random, you should configure
18OpenSSL to use it. OpenSSH relies on OpenSSL's direct support of
85eed7c2 19/dev/random, or failing that, either prngd or egd. If you don't have
20any of these you will have to rely on ssh-rand-helper, which is inferior
21to a good kernel-based solution or prngd.
1a317551 22
e1dd3a7a 23PRNGD:
24
e5d352eb 25If your system lacks kernel-based random collection, the use of Lutz
e1dd3a7a 26Jaenicke's PRNGd is recommended.
27
e5d352eb 28http://prngd.sourceforge.net/
e1dd3a7a 29
30EGD:
31
e93ee87a 32The Entropy Gathering Daemon (EGD) is supported if you have a system which
33lacks /dev/random and don't want to use OpenSSH's internal entropy collection.
8bc7973f 34
8bc7973f 35http://www.lothar.com/tech/crypto/
36
85eed7c2 37OpenSSH can utilise Pluggable Authentication Modules (PAM) if your
38system supports it. PAM is standard most Linux distributions, Solaris,
39HP-UX 11, AIX >= 5.2, FreeBSD and NetBSD.
40
41Information about the various PAM implementations are available:
42
43Solaris PAM: http://www.sun.com/software/solaris/pam/
44Linux PAM: http://www.kernel.org/pub/linux/libs/pam/
45OpenPAM: http://www.openpam.org/
46
47If you wish to build the GNOME passphrase requester, you will need the GNOME
48libraries and headers.
49
50GNOME:
51http://www.gnome.org/
52
53Alternatively, Jim Knoble <jmknoble@pobox.com> has written an excellent X11
54passphrase requester. This is maintained separately at:
55
56http://www.jmknoble.net/software/x11-ssh-askpass/
57
3e366738 58S/Key Libraries:
07f804af 59
f2637973 60If you wish to use --with-skey then you will need the library below
61installed. No other S/Key library is currently known to be supported.
07f804af 62
3e366738 63http://www.sparc.spb.su/solaris/skey/
64
59031773 65LibEdit:
e02505e2 66
67sftp supports command-line editing via NetBSD's libedit. If your platform
68has it available natively you can use that, alternatively you might try
69these multi-platform ports:
07f804af 70
59031773 71http://www.thrysoee.dk/editline/
72http://sourceforge.net/projects/libedit/
73
10f1064f 74Autoconf:
75
90f321a4 76If you modify configure.ac or configure doesn't exist (eg if you checked
2769e5d0 77the code out of CVS yourself) then you will need autoconf-2.61 to rebuild
78the automatically generated files by running "autoreconf". Earlier
98f27722 79versions may also work but this is not guaranteed.
10f1064f 80
81http://www.gnu.org/software/autoconf/
82
8e700494 83Basic Security Module (BSM):
84
85Native BSM support is know to exist in Solaris from at least 2.5.1,
86FreeBSD 6.1 and OS X. Alternatively, you may use the OpenBSM
87implementation (http://www.openbsm.org).
88
10f1064f 89
8bc7973f 902. Building / Installation
91--------------------------
92
93To install OpenSSH with default options:
94
95./configure
96make
97make install
98
99This will install the OpenSSH binaries in /usr/local/bin, configuration files
100in /usr/local/etc, the server in /usr/local/sbin, etc. To specify a different
101installation prefix, use the --prefix option to configure:
102
103./configure --prefix=/opt
104make
105make install
106
aff51935 107Will install OpenSSH in /opt/{bin,etc,lib,sbin}. You can also override
8bc7973f 108specific paths, for example:
109
110./configure --prefix=/opt --sysconfdir=/etc/ssh
111make
112make install
113
114This will install the binaries in /opt/{bin,lib,sbin}, but will place the
115configuration files in /etc/ssh.
116
ad6a7661 117If you are using Privilege Separation (which is enabled by default)
118then you will also need to create the user, group and directory used by
119sshd for privilege separation. See README.privsep for details.
120
4b28be2c 121If you are using PAM, you may need to manually install a PAM control
122file as "/etc/pam.d/sshd" (or wherever your system prefers to keep
123them). Note that the service name used to start PAM is __progname,
124which is the basename of the path of your sshd (e.g., the service name
125for /usr/sbin/osshd will be osshd). If you have renamed your sshd
126executable, your PAM configuration may need to be modified.
127
128A generic PAM configuration is included as "contrib/sshd.pam.generic",
129you may need to edit it before using it on your system. If you are
130using a recent version of Red Hat Linux, the config file in
131contrib/redhat/sshd.pam should be more useful. Failure to install a
132valid PAM file may result in an inability to use password
133authentication. On HP-UX 11 and Solaris, the standard /etc/pam.conf
134configuration will work with sshd (sshd will match the other service
ca86bb3f 135name).
529c5440 136
8bc7973f 137There are a few other options to the configure script:
138
8e700494 139--with-audit=[module] enable additional auditing via the specified module.
140Currently, drivers for "debug" (additional info via syslog) and "bsm"
141(Sun's Basic Security Module) are supported.
142
0a23d79f 143--with-pam enables PAM support. If PAM support is compiled in, it must
144also be enabled in sshd_config (refer to the UsePAM directive).
8bc7973f 145
aff51935 146--with-prngd-socket=/some/file allows you to enable EGD or PRNGD
147support and to specify a PRNGd socket. Use this if your Unix lacks
148/dev/random and you don't want to use OpenSSH's builtin entropy
9bdd5929 149collection support.
150
aff51935 151--with-prngd-port=portnum allows you to enable EGD or PRNGD support
152and to specify a EGD localhost TCP port. Use this if your Unix lacks
153/dev/random and you don't want to use OpenSSH's builtin entropy
e1dd3a7a 154collection support.
8bc7973f 155
aff51935 156--with-lastlog=FILE will specify the location of the lastlog file.
0bc5b6fb 157./configure searches a few locations for lastlog, but may not find
158it if lastlog is installed in a different place.
159
160--without-lastlog will disable lastlog support entirely.
161
aff51935 162--with-osfsia, --without-osfsia will enable or disable OSF1's Security
99c8ddac 163Integration Architecture. The default for OSF1 machines is enable.
164
aff51935 165--with-skey=PATH will enable S/Key one time password support. You will
3e366738 166need the S/Key libraries and header files installed for this to work.
721c55f0 167
168--with-tcp-wrappers will enable TCP Wrappers (/etc/hosts.allow|deny)
169support. You will need libwrap.a and tcpd.h installed.
170
171--with-md5-passwords will enable the use of MD5 passwords. Enable this
f8ec2373 172if your operating system uses MD5 passwords and the system crypt() does
173not support them directly (see the crypt(3/3c) man page). If enabled, the
174resulting binary will support both MD5 and traditional crypt passwords.
045672f9 175
aff51935 176--with-utmpx enables utmpx support. utmpx support is automatic for
0bc5b6fb 177some platforms.
178
179--without-shadow disables shadow password support.
180
aff51935 181--with-ipaddr-display forces the use of a numeric IP address in the
0bc5b6fb 182$DISPLAY environment variable. Some broken systems need this.
183
184--with-default-path=PATH allows you to specify a default $PATH for sessions
bd499f9e 185started by sshd. This replaces the standard path entirely.
0bc5b6fb 186
47e45e44 187--with-pid-dir=PATH specifies the directory in which the ssh.pid file is
188created.
189
190--with-xauth=PATH specifies the location of the xauth binary
191
d581b7ae 192--with-ssl-dir=DIR allows you to specify where your OpenSSL libraries
193are installed.
194
c7ad0d99 195--with-ssl-engine enables OpenSSL's (hardware) ENGINE support
196
b7a9ce47 197--with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to
198real (AF_INET) IPv4 addresses. Works around some quirks on Linux.
199
295c8801 200--with-opensc=DIR
201--with-sectok=DIR allows for OpenSC or sectok smartcard libraries to
202be used with OpenSSH. See 'README.smartcard' for more details.
203
d94aa2ae 204If you need to pass special options to the compiler or linker, you
c04f75f1 205can specify these as environment variables before running ./configure.
d94aa2ae 206For example:
207
b817711d 208CFLAGS="-O -m486" LDFLAGS="-s" LIBS="-lrubbish" LD="/usr/foo/ld" ./configure
8bc7973f 209
2103. Configuration
211----------------
212
aff51935 213The runtime configuration files are installed by in ${prefix}/etc or
8bc7973f 214whatever you specified as your --sysconfdir (/usr/local/etc by default).
215
aff51935 216The default configuration should be instantly usable, though you should
8bc7973f 217review it to ensure that it matches your security requirements.
218
6bf4d066 219To generate a host key, run "make host-key". Alternately you can do so
aff51935 220manually using the following commands:
3e807d1e 221
af8fda37 222 ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
223 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
224 ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
3e807d1e 225
7303768f 226Replacing /etc/ssh with the correct path to the configuration directory.
aff51935 227(${prefix}/etc or whatever you specified with --sysconfdir during
7303768f 228configuration)
229
60d804c8 230If you have configured OpenSSH with EGD support, ensure that EGD is
231running and has collected some Entropy.
232
aff51935 233For more information on configuration, please refer to the manual pages
8bc7973f 234for sshd, ssh and ssh-agent.
235
d7cfdd7c 2364. (Optional) Send survey
237-------------------------
238
239$ make survey
e02505e2 240[check the contents of the file "survey" to ensure there's no information
241that you consider sensitive]
d7cfdd7c 242$ make send-survey
243
244This will send configuration information for the currently configured
245host to a survey address. This will help determine which configurations
246are actually in use, and what valid combinations of configure options
247exist. The raw data is available only to the OpenSSH developers, however
248summary data may be published.
249
2505. Problems?
7303768f 251------------
252
aff51935 253If you experience problems compiling, installing or running OpenSSH.
7303768f 254Please refer to the "reporting bugs" section of the webpage at
c04f75f1 255http://www.openssh.com/
7303768f 256
0b202697 257
258$Id$
This page took 0.221152 seconds and 5 git commands to generate.