blob: 5e0b5c8f17b8674f111cf1ecefebeb9c5402c5ee [file] [log] [blame]
Damien Millerb5f89271999-11-12 14:35:58 +110011. Prerequisites
2----------------
3
4You will need working installations of Zlib and OpenSSL.
5
6Zlib:
7http://www.cdrom.com/pub/infozip/zlib/
8
9OpenSSL:
10http://www.openssl.org/
11
12OpenSSH can utilise Pluggable Authentication Modules (PAM) if your system
13supports it. PAM is standard on Redhat and Debian Linux and on Solaris.
14
15PAM:
16http://www.kernel.org/pub/linux/libs/pam/
17
Damien Miller8bdeee21999-12-30 15:50:54 +110018Dante:
19http://www.inet.no/dante
20
21OpenSSH can also use the Dante SOCKS libraries, version 1.1.1pre1 or higher,
22if you have them installed on your system.
23
Damien Miller780b3761999-12-26 13:36:11 +110024If you wish to build the GNOME passphrase requester, you will need the GNOME
Damien Millerb5f89271999-11-12 14:35:58 +110025libraries and headers.
26
27GNOME:
28http://www.gnome.org/
29
Damien Miller780b3761999-12-26 13:36:11 +110030Alternatly Jim Knoble <jmknoble@pobox.com> has written an excellent X11
31passphrase requester. This is maintained seperatly at:
32
33http://www.pobox.com/~jmknoble/jmk/
34
35
Damien Millerb5f89271999-11-12 14:35:58 +110036If you are planning to use OpenSSH on a Unix which lacks a Kernel random
37number generator (/dev/urandom), you will need to install the Entropy
38Gathering Daemon (or similar). You will also need to specify the
39--with-egd-pool option to ./configure.
40
41EGD:
42http://www.lothar.com/tech/crypto/
43
Damien Miller4d2f15f1999-11-23 12:36:29 +110044GNU Make:
45ftp://ftp.gnu.org/gnu/make/
46
47OpenSSH has only been tested with GNU make. It may work with other
48'make' programs, but you are on your own.
Damien Millerb5f89271999-11-12 14:35:58 +110049
502. Building / Installation
51--------------------------
52
53To install OpenSSH with default options:
54
55./configure
56make
57make install
58
59This will install the OpenSSH binaries in /usr/local/bin, configuration files
60in /usr/local/etc, the server in /usr/local/sbin, etc. To specify a different
61installation prefix, use the --prefix option to configure:
62
63./configure --prefix=/opt
64make
65make install
66
67Will install OpenSSH in /opt/{bin,etc,lib,sbin}. You can also override
68specific paths, for example:
69
70./configure --prefix=/opt --sysconfdir=/etc/ssh
71make
72make install
73
74This will install the binaries in /opt/{bin,lib,sbin}, but will place the
75configuration files in /etc/ssh.
76
Damien Miller294df781999-11-23 10:11:29 +110077If you are using PAM, you will need to manually install a PAM control
78file as "/etc/pam.d/sshd" (or wherever your system prefers to keep
79them). A generic PAM configuration is included as "sshd.pam.generic",
80you may need to edit it before using it on your system.
Damien Miller755c90c1999-11-22 16:12:31 +110081
Damien Millerb5f89271999-11-12 14:35:58 +110082There are a few other options to the configure script:
83
Damien Miller8bdeee21999-12-30 15:50:54 +110084--with-rsh=PATH allows you to specify the path to your rsh program.
85Normally ./configure will search the current $PATH for 'rsh'. You
86may need to specify this option if rsh is not in your path or has a
87different name.
88
89--without-pam will disable PAM support. PAM is automatically detected
90and switched on if found.
91
Damien Millerc0967271999-11-19 15:53:50 +110092--enable-gnome-askpass will build the GNOME passphrase dialog. You
93need a working installation of GNOME, including the development
94headers, for this to work.
Damien Millerb5f89271999-11-12 14:35:58 +110095
Damien Millerc0967271999-11-19 15:53:50 +110096--with-random=/some/file allows you to specify an alternate source of
97random numbers (the default is /dev/urandom). Unless you are absolutly
Damien Millerb5f89271999-11-12 14:35:58 +110098sure of what you are doing, it is best to leave this alone.
99
Damien Millerc0967271999-11-19 15:53:50 +1100100--with-egd-pool=/some/file allows you to enable Entropy Gathering
101Daemon support and to specify a EGD pool socket. You will need to
102use this if your Unix does not support the /dev/urandom device (or
Damien Millerab8a4da1999-12-16 13:05:30 +1100103similar). The file argument refers to the EGD pool file, not the
104EGD program itself. Please refer to the EGD documentation.
Damien Millerb5f89271999-11-12 14:35:58 +1100105
Damien Miller8bdeee21999-12-30 15:50:54 +1100106--with-lastlog=FILE will specify the location of the lastlog file.
107./configure searches a few locations for lastlog, but may not find
108it if lastlog is installed in a different place.
109
110--without-lastlog will disable lastlog support entirely.
111
Damien Millerc0967271999-11-19 15:53:50 +1100112--with-kerberos4 will enable Kerberos IV support. You will need to
113have the Kerberos libraries and header files installed for this to
114work.
115
116--with-afs will enable AFS support. You will need to have the Kerberos
117IV and the AFS libraries and header files installed for this to work.
118
119--with-skey will enable S/Key one time password support. You will need
120the S/Key libraries and header files installed for this to work.
121
122--with-tcp-wrappers will enable TCP Wrappers (/etc/hosts.allow|deny)
123support. You will need libwrap.a and tcpd.h installed.
124
125--with-md5-passwords will enable the use of MD5 passwords. Enable this
126if your operating system uses MD5 passwords without using PAM.
Damien Miller3d1b22c1999-11-12 15:46:08 +1100127
Damien Miller8bdeee21999-12-30 15:50:54 +1100128--with-utmpx enables utmpx support. utmpx support is automatic for
129some platforms.
130
131--without-shadow disables shadow password support.
132
133--with-ipaddr-display forces the use of a numeric IP address in the
134$DISPLAY environment variable. Some broken systems need this.
135
136--with-default-path=PATH allows you to specify a default $PATH for sessions
137started by sshd.
138
139--with-dante[=DIR] will enable Dante SOCKS library support. If the Dante
140libsocks library isn't installed in a library searched by the compiler,
141add the directory name as the option.
142
Damien Millerbeb4ba51999-12-28 15:09:35 +1100143If you need to pass special options to the compiler or linker, you
144can specify these as enviornment variables before running ./configure.
145For example:
146
147CFLAGS="-O -m486" LFLAGS="-s" ./configure
Damien Millerb5f89271999-11-12 14:35:58 +1100148
1493. Configuration
150----------------
151
152The runtime configuration files are installed by in ${prefix}/etc or
153whatever you specified as your --sysconfdir (/usr/local/etc by default).
154
155The default configuration should be instantly usable, though you should
156review it to ensure that it matches your security requirements.
157
Damien Miller2a9d9f61999-11-15 23:34:11 +1100158To generate a host key, issue the following command: (replacing
159/etc/ssh/ssh_host_key with an appropriate path)
160
161/usr/bin/ssh-keygen -b 1024 -f /etc/ssh/ssh_host_key -N ''
162
Damien Miller6ae00d61999-12-14 15:43:03 +1100163Replacing /etc/ssh with the correct path to the configuration directory.
164(${prefix}/etc or whatever you specified with --sysconfdir during
165configuration)
166
Damien Millerab8a4da1999-12-16 13:05:30 +1100167If you have configured OpenSSH with EGD support, ensure that EGD is
168running and has collected some Entropy.
169
Damien Millerb5f89271999-11-12 14:35:58 +1100170For more information on configuration, please refer to the manual pages
171for sshd, ssh and ssh-agent.
172
Damien Miller6ae00d61999-12-14 15:43:03 +11001734. Problems?
174------------
175
176If you experience problems compiling, installing or running OpenSSH.
177Please refer to the "reporting bugs" section of the webpage at
178http://violet.ibs.com.au/openssh/
179