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