]> andersk Git - openssh.git/blob - INSTALL
- Moved all the bsd-* and fake-* stuff into new libopenbsd-compat.a
[openssh.git] / INSTALL
1 1. Prerequisites
2 ----------------
3
4 You will need working installations of Zlib and OpenSSL.
5
6 Zlib:
7 http://www.cdrom.com/pub/infozip/zlib/
8
9 OpenSSL 0.9.5a or greater:
10 http://www.openssl.org/
11
12 RPMs of OpenSSL are available in the support/ directory of the OpenSSH 
13 mirror site. OpenSSH requires OpenSSL version 0.9.5 or later.
14
15 OpenSSH can utilise Pluggable Authentication Modules (PAM) if your system
16 supports it. PAM is standard on Redhat and Debian Linux and on Solaris.
17
18 PAM:
19 http://www.kernel.org/pub/linux/libs/pam/
20
21 If you wish to build the GNOME passphrase requester, you will need the GNOME
22 libraries and headers.
23
24 GNOME:
25 http://www.gnome.org/
26
27 Alternatively, Jim Knoble <jmknoble@pobox.com> has written an excellent X11
28 passphrase requester. This is maintained separately at:
29
30 http://www.ntrnet.net/~jmknoble/software/x11-ssh-askpass/index.html
31
32 If you are planning to use OpenSSH on a Unix which lacks a Kernel random
33 number generator (/dev/urandom), you may want to install the Entropy
34 Gathering Daemon (or similar). You will also need to specify the 
35 --with-egd-pool option to ./configure. OpenSSH 2.0 includes some 
36 peliminary built-in randomness collection, but it is not as well 
37 tested as EGD.
38
39 EGD:
40 http://www.lothar.com/tech/crypto/
41
42 GNU Make:
43 ftp://ftp.gnu.org/gnu/make/
44
45 OpenSSH has only been tested with GNU make. It may work with other
46 'make' programs, but you are on your own.
47
48 2. Building / Installation
49 --------------------------
50
51 To install OpenSSH with default options:
52
53 ./configure
54 make
55 make install
56
57 This will install the OpenSSH binaries in /usr/local/bin, configuration files
58 in /usr/local/etc, the server in /usr/local/sbin, etc. To specify a different
59 installation prefix, use the --prefix option to configure:
60
61 ./configure --prefix=/opt
62 make
63 make install
64
65 Will install OpenSSH in /opt/{bin,etc,lib,sbin}. You can also override 
66 specific paths, for example:
67
68 ./configure --prefix=/opt --sysconfdir=/etc/ssh
69 make
70 make install
71
72 This will install the binaries in /opt/{bin,lib,sbin}, but will place the
73 configuration files in /etc/ssh.
74
75 If you are using PAM, you will need to manually install a PAM
76 control file as "/etc/pam.d/sshd" (or wherever your system
77 prefers to keep them). A generic PAM configuration is included as
78 "contrib/sshd.pam.generic", you may need to edit it before using it on
79 your system. If you are using a recent version of Redhat Linux, the
80 config file in contrib/redhat/sshd.pam should be more useful.
81
82 There are a few other options to the configure script:
83
84 --with-rsh=PATH allows you to specify the path to your rsh program. 
85 Normally ./configure will search the current $PATH for 'rsh'. You 
86 may need to specify this option if rsh is not in your path or has a
87 different name.
88
89 --without-pam will disable PAM support. PAM is automatically detected 
90 and switched on if found.
91
92 --enable-gnome-askpass will build the GNOME passphrase dialog. You
93 need a working installation of GNOME, including the development
94 headers, for this to work.
95
96 --with-random=/some/file allows you to specify an alternate source of
97 random numbers (the default is /dev/urandom). Unless you are absolutly
98 sure of what you are doing, it is best to leave this alone.
99
100 --with-egd-pool=/some/file allows you to enable Entropy Gathering
101 Daemon support and to specify a EGD pool socket. You may want to
102 use this if your Unix does not support the /dev/urandom device (or
103 similar). The file argument refers to the EGD pool file, not the 
104 EGD program itself. Please refer to the EGD documentation.
105
106 --with-lastlog=FILE will specify the location of the lastlog file. 
107 ./configure searches a few locations for lastlog, but may not find
108 it if lastlog is installed in a different place.
109
110 --without-lastlog will disable lastlog support entirely.
111
112 --with-kerberos4=PATH will enable Kerberos IV support. You will need
113 to have the Kerberos libraries and header files installed for this
114 to work. Use the optional PATH argument to specify the root of your
115 Kerberos installation.
116
117 --with-afs=PATH will enable AFS support. You will need to have the
118 Kerberos IV and the AFS libraries and header files installed for this
119 to work.  Use the optional PATH argument to specify the root of your
120 AFS installation. AFS requires Kerberos support to be enabled.
121
122 --with-skey will enable S/Key one time password support. You will need
123 the S/Key libraries and header files installed for this to work.
124
125 --with-tcp-wrappers will enable TCP Wrappers (/etc/hosts.allow|deny)
126 support. You will need libwrap.a and tcpd.h installed.
127
128 --with-md5-passwords will enable the use of MD5 passwords. Enable this
129 if your operating system uses MD5 passwords without using PAM.
130
131 --with-utmpx enables utmpx support. utmpx support is automatic for 
132 some platforms.
133
134 --without-shadow disables shadow password support.
135
136 --with-ipaddr-display forces the use of a numeric IP address in the 
137 $DISPLAY environment variable. Some broken systems need this.
138
139 --with-default-path=PATH allows you to specify a default $PATH for sessions
140 started by sshd. This replaces the standard path entirely.
141
142 --with-pid-dir=PATH specifies the directory in which the ssh.pid file is
143 created.
144
145 --with-xauth=PATH specifies the location of the xauth binary
146
147 --with-ipv4-default instructs OpenSSH to use IPv4 by default for new
148 connections. Normally OpenSSH will try attempt to lookup both IPv6 and
149 IPv4 addresses. On Linux/glibc-2.1.2 this causes long delays in name
150 resolution. If this option is specified, you can still attempt to 
151 connect to IPv6 addresses using the command line option '-6'.
152
153 --with-ssl-dir=DIR allows you to specify where your OpenSSL libraries
154 are installed.
155
156 --with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to
157 real (AF_INET) IPv4 addresses. Works around some quirks on Linux.
158
159 If you need to pass special options to the compiler or linker, you
160 can specify these as enviornment variables before running ./configure.
161 For example:
162
163 CFLAGS="-O -m486" LFLAGS="-s" LIBS="-lrubbish" LD="/usr/foo/ld" ./configure
164
165 3. Configuration
166 ----------------
167
168 The runtime configuration files are installed by in ${prefix}/etc or 
169 whatever you specified as your --sysconfdir (/usr/local/etc by default).
170
171 The default configuration should be instantly usable, though you should 
172 review it to ensure that it matches your security requirements.
173
174 To generate a host key, run "make host-key". Alternately you can do so
175 manually using the following command: 
176
177 /usr/bin/ssh-keygen -b 1024 -f /etc/ssh/ssh_host_key -N ''
178
179 Replacing /etc/ssh with the correct path to the configuration directory.
180 (${prefix}/etc or whatever you specified with --sysconfdir during 
181 configuration)
182
183 If you have configured OpenSSH with EGD support, ensure that EGD is
184 running and has collected some Entropy.
185
186 For more information on configuration, please refer to the manual pages 
187 for sshd, ssh and ssh-agent.
188
189 4. Problems?
190 ------------
191
192 If you experience problems compiling, installing or running OpenSSH. 
193 Please refer to the "reporting bugs" section of the webpage at
194 http://violet.ibs.com.au/openssh/
195
This page took 0.05451 seconds and 5 git commands to generate.