183d2307dSDag-Erling Smørgrav1. Prerequisites 283d2307dSDag-Erling Smørgrav---------------- 383d2307dSDag-Erling Smørgrav 483d2307dSDag-Erling SmørgravYou will need working installations of Zlib and OpenSSL. 583d2307dSDag-Erling Smørgrav 64518870cSDag-Erling SmørgravZlib 1.1.4 or 1.2.1.2 or greater (ealier 1.2.x versions have problems): 783d2307dSDag-Erling Smørgravhttp://www.gzip.org/zlib/ 883d2307dSDag-Erling Smørgrav 983d2307dSDag-Erling SmørgravOpenSSL 0.9.6 or greater: 1083d2307dSDag-Erling Smørgravhttp://www.openssl.org/ 1183d2307dSDag-Erling Smørgrav 1283d2307dSDag-Erling Smørgrav(OpenSSL 0.9.5a is partially supported, but some ciphers (SSH protocol 1 134b17dab0SDag-Erling SmørgravBlowfish) do not work correctly.) 1483d2307dSDag-Erling Smørgrav 1583d2307dSDag-Erling SmørgravOpenSSH can utilise Pluggable Authentication Modules (PAM) if your system 1683d2307dSDag-Erling Smørgravsupports it. PAM is standard on Redhat and Debian Linux, Solaris and 1783d2307dSDag-Erling SmørgravHP-UX 11. 1883d2307dSDag-Erling Smørgrav 1983d2307dSDag-Erling SmørgravNB. If you operating system supports /dev/random, you should configure 2083d2307dSDag-Erling SmørgravOpenSSL to use it. OpenSSH relies on OpenSSL's direct support of 2183d2307dSDag-Erling Smørgrav/dev/random. If you don't you will have to rely on ssh-rand-helper, which 2283d2307dSDag-Erling Smørgravis inferior to a good kernel-based solution. 2383d2307dSDag-Erling Smørgrav 2483d2307dSDag-Erling SmørgravPAM: 2583d2307dSDag-Erling Smørgravhttp://www.kernel.org/pub/linux/libs/pam/ 2683d2307dSDag-Erling Smørgrav 2783d2307dSDag-Erling SmørgravIf you wish to build the GNOME passphrase requester, you will need the GNOME 2883d2307dSDag-Erling Smørgravlibraries and headers. 2983d2307dSDag-Erling Smørgrav 3083d2307dSDag-Erling SmørgravGNOME: 3183d2307dSDag-Erling Smørgravhttp://www.gnome.org/ 3283d2307dSDag-Erling Smørgrav 33d74d50a8SDag-Erling SmørgravAlternatively, Jim Knoble <jmknoble@pobox.com> has written an excellent X11 3483d2307dSDag-Erling Smørgravpassphrase requester. This is maintained separately at: 3583d2307dSDag-Erling Smørgrav 36d95e11bfSDag-Erling Smørgravhttp://www.jmknoble.net/software/x11-ssh-askpass/ 3783d2307dSDag-Erling Smørgrav 3883d2307dSDag-Erling SmørgravPRNGD: 3983d2307dSDag-Erling Smørgrav 4083d2307dSDag-Erling SmørgravIf your system lacks Kernel based random collection, the use of Lutz 4183d2307dSDag-Erling SmørgravJaenicke's PRNGd is recommended. 4283d2307dSDag-Erling Smørgrav 4383d2307dSDag-Erling Smørgravhttp://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html 4483d2307dSDag-Erling Smørgrav 4583d2307dSDag-Erling SmørgravEGD: 4683d2307dSDag-Erling Smørgrav 4783d2307dSDag-Erling SmørgravThe Entropy Gathering Daemon (EGD) is supported if you have a system which 4883d2307dSDag-Erling Smørgravlacks /dev/random and don't want to use OpenSSH's internal entropy collection. 4983d2307dSDag-Erling Smørgrav 5083d2307dSDag-Erling Smørgravhttp://www.lothar.com/tech/crypto/ 5183d2307dSDag-Erling Smørgrav 5283d2307dSDag-Erling SmørgravS/Key Libraries: 534518870cSDag-Erling Smørgrav 544518870cSDag-Erling SmørgravIf you wish to use --with-skey then you will need the library below 554518870cSDag-Erling Smørgravinstalled. No other S/Key library is currently known to be supported. 564518870cSDag-Erling Smørgrav 5783d2307dSDag-Erling Smørgravhttp://www.sparc.spb.su/solaris/skey/ 5883d2307dSDag-Erling Smørgrav 595e8dbd04SDag-Erling SmørgravLibEdit: 605e8dbd04SDag-Erling Smørgravsftp now supports command-line editing via NetBSD's libedit. If your 615e8dbd04SDag-Erling Smørgravplatform has it available natively you can use that, alternatively 625e8dbd04SDag-Erling Smørgravyou might try these multi-platform ports: 634518870cSDag-Erling Smørgrav 645e8dbd04SDag-Erling Smørgravhttp://www.thrysoee.dk/editline/ 655e8dbd04SDag-Erling Smørgravhttp://sourceforge.net/projects/libedit/ 665e8dbd04SDag-Erling Smørgrav 6783d2307dSDag-Erling Smørgrav2. Building / Installation 6883d2307dSDag-Erling Smørgrav-------------------------- 6983d2307dSDag-Erling Smørgrav 7083d2307dSDag-Erling SmørgravTo install OpenSSH with default options: 7183d2307dSDag-Erling Smørgrav 7283d2307dSDag-Erling Smørgrav./configure 7383d2307dSDag-Erling Smørgravmake 7483d2307dSDag-Erling Smørgravmake install 7583d2307dSDag-Erling Smørgrav 7683d2307dSDag-Erling SmørgravThis will install the OpenSSH binaries in /usr/local/bin, configuration files 7783d2307dSDag-Erling Smørgravin /usr/local/etc, the server in /usr/local/sbin, etc. To specify a different 7883d2307dSDag-Erling Smørgravinstallation prefix, use the --prefix option to configure: 7983d2307dSDag-Erling Smørgrav 8083d2307dSDag-Erling Smørgrav./configure --prefix=/opt 8183d2307dSDag-Erling Smørgravmake 8283d2307dSDag-Erling Smørgravmake install 8383d2307dSDag-Erling Smørgrav 8483d2307dSDag-Erling SmørgravWill install OpenSSH in /opt/{bin,etc,lib,sbin}. You can also override 8583d2307dSDag-Erling Smørgravspecific paths, for example: 8683d2307dSDag-Erling Smørgrav 8783d2307dSDag-Erling Smørgrav./configure --prefix=/opt --sysconfdir=/etc/ssh 8883d2307dSDag-Erling Smørgravmake 8983d2307dSDag-Erling Smørgravmake install 9083d2307dSDag-Erling Smørgrav 9183d2307dSDag-Erling SmørgravThis will install the binaries in /opt/{bin,lib,sbin}, but will place the 9283d2307dSDag-Erling Smørgravconfiguration files in /etc/ssh. 9383d2307dSDag-Erling Smørgrav 944518870cSDag-Erling SmørgravIf you are using Privilege Separation (which is enabled by default) 954518870cSDag-Erling Smørgravthen you will also need to create the user, group and directory used by 964518870cSDag-Erling Smørgravsshd for privilege separation. See README.privsep for details. 974518870cSDag-Erling Smørgrav 9883d2307dSDag-Erling SmørgravIf you are using PAM, you may need to manually install a PAM control 9983d2307dSDag-Erling Smørgravfile as "/etc/pam.d/sshd" (or wherever your system prefers to keep 10083d2307dSDag-Erling Smørgravthem). Note that the service name used to start PAM is __progname, 10183d2307dSDag-Erling Smørgravwhich is the basename of the path of your sshd (e.g., the service name 10283d2307dSDag-Erling Smørgravfor /usr/sbin/osshd will be osshd). If you have renamed your sshd 10383d2307dSDag-Erling Smørgravexecutable, your PAM configuration may need to be modified. 10483d2307dSDag-Erling Smørgrav 10583d2307dSDag-Erling SmørgravA generic PAM configuration is included as "contrib/sshd.pam.generic", 10683d2307dSDag-Erling Smørgravyou may need to edit it before using it on your system. If you are 10783d2307dSDag-Erling Smørgravusing a recent version of Red Hat Linux, the config file in 10883d2307dSDag-Erling Smørgravcontrib/redhat/sshd.pam should be more useful. Failure to install a 10983d2307dSDag-Erling Smørgravvalid PAM file may result in an inability to use password 11083d2307dSDag-Erling Smørgravauthentication. On HP-UX 11 and Solaris, the standard /etc/pam.conf 11183d2307dSDag-Erling Smørgravconfiguration will work with sshd (sshd will match the other service 11283d2307dSDag-Erling Smørgravname). 11383d2307dSDag-Erling Smørgrav 11483d2307dSDag-Erling SmørgravThere are a few other options to the configure script: 11583d2307dSDag-Erling Smørgrav 116d95e11bfSDag-Erling Smørgrav--with-pam enables PAM support. If PAM support is compiled in, it must 117d95e11bfSDag-Erling Smørgravalso be enabled in sshd_config (refer to the UsePAM directive). 11883d2307dSDag-Erling Smørgrav 11983d2307dSDag-Erling Smørgrav--with-prngd-socket=/some/file allows you to enable EGD or PRNGD 12083d2307dSDag-Erling Smørgravsupport and to specify a PRNGd socket. Use this if your Unix lacks 12183d2307dSDag-Erling Smørgrav/dev/random and you don't want to use OpenSSH's builtin entropy 12283d2307dSDag-Erling Smørgravcollection support. 12383d2307dSDag-Erling Smørgrav 12483d2307dSDag-Erling Smørgrav--with-prngd-port=portnum allows you to enable EGD or PRNGD support 12583d2307dSDag-Erling Smørgravand to specify a EGD localhost TCP port. Use this if your Unix lacks 12683d2307dSDag-Erling Smørgrav/dev/random and you don't want to use OpenSSH's builtin entropy 12783d2307dSDag-Erling Smørgravcollection support. 12883d2307dSDag-Erling Smørgrav 12983d2307dSDag-Erling Smørgrav--with-lastlog=FILE will specify the location of the lastlog file. 13083d2307dSDag-Erling Smørgrav./configure searches a few locations for lastlog, but may not find 13183d2307dSDag-Erling Smørgravit if lastlog is installed in a different place. 13283d2307dSDag-Erling Smørgrav 13383d2307dSDag-Erling Smørgrav--without-lastlog will disable lastlog support entirely. 13483d2307dSDag-Erling Smørgrav 135d95e11bfSDag-Erling Smørgrav--with-osfsia, --without-osfsia will enable or disable OSF1's Security 13683d2307dSDag-Erling SmørgravIntegration Architecture. The default for OSF1 machines is enable. 13783d2307dSDag-Erling Smørgrav 13883d2307dSDag-Erling Smørgrav--with-skey=PATH will enable S/Key one time password support. You will 13983d2307dSDag-Erling Smørgravneed the S/Key libraries and header files installed for this to work. 14083d2307dSDag-Erling Smørgrav 14183d2307dSDag-Erling Smørgrav--with-tcp-wrappers will enable TCP Wrappers (/etc/hosts.allow|deny) 14283d2307dSDag-Erling Smørgravsupport. You will need libwrap.a and tcpd.h installed. 14383d2307dSDag-Erling Smørgrav 14483d2307dSDag-Erling Smørgrav--with-md5-passwords will enable the use of MD5 passwords. Enable this 145efcad6b7SDag-Erling Smørgravif your operating system uses MD5 passwords and the system crypt() does 146efcad6b7SDag-Erling Smørgravnot support them directly (see the crypt(3/3c) man page). If enabled, the 147efcad6b7SDag-Erling Smørgravresulting binary will support both MD5 and traditional crypt passwords. 14883d2307dSDag-Erling Smørgrav 14983d2307dSDag-Erling Smørgrav--with-utmpx enables utmpx support. utmpx support is automatic for 15083d2307dSDag-Erling Smørgravsome platforms. 15183d2307dSDag-Erling Smørgrav 15283d2307dSDag-Erling Smørgrav--without-shadow disables shadow password support. 15383d2307dSDag-Erling Smørgrav 15483d2307dSDag-Erling Smørgrav--with-ipaddr-display forces the use of a numeric IP address in the 15583d2307dSDag-Erling Smørgrav$DISPLAY environment variable. Some broken systems need this. 15683d2307dSDag-Erling Smørgrav 15783d2307dSDag-Erling Smørgrav--with-default-path=PATH allows you to specify a default $PATH for sessions 15883d2307dSDag-Erling Smørgravstarted by sshd. This replaces the standard path entirely. 15983d2307dSDag-Erling Smørgrav 16083d2307dSDag-Erling Smørgrav--with-pid-dir=PATH specifies the directory in which the ssh.pid file is 16183d2307dSDag-Erling Smørgravcreated. 16283d2307dSDag-Erling Smørgrav 16383d2307dSDag-Erling Smørgrav--with-xauth=PATH specifies the location of the xauth binary 16483d2307dSDag-Erling Smørgrav 16583d2307dSDag-Erling Smørgrav--with-ssl-dir=DIR allows you to specify where your OpenSSL libraries 16683d2307dSDag-Erling Smørgravare installed. 16783d2307dSDag-Erling Smørgrav 16883d2307dSDag-Erling Smørgrav--with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to 16983d2307dSDag-Erling Smørgravreal (AF_INET) IPv4 addresses. Works around some quirks on Linux. 17083d2307dSDag-Erling Smørgrav 17183d2307dSDag-Erling Smørgrav--with-opensc=DIR 17283d2307dSDag-Erling Smørgrav--with-sectok=DIR allows for OpenSC or sectok smartcard libraries to 17383d2307dSDag-Erling Smørgravbe used with OpenSSH. See 'README.smartcard' for more details. 17483d2307dSDag-Erling Smørgrav 17583d2307dSDag-Erling SmørgravIf you need to pass special options to the compiler or linker, you 17683d2307dSDag-Erling Smørgravcan specify these as environment variables before running ./configure. 17783d2307dSDag-Erling SmørgravFor example: 17883d2307dSDag-Erling Smørgrav 17983d2307dSDag-Erling SmørgravCFLAGS="-O -m486" LDFLAGS="-s" LIBS="-lrubbish" LD="/usr/foo/ld" ./configure 18083d2307dSDag-Erling Smørgrav 18183d2307dSDag-Erling Smørgrav3. Configuration 18283d2307dSDag-Erling Smørgrav---------------- 18383d2307dSDag-Erling Smørgrav 18483d2307dSDag-Erling SmørgravThe runtime configuration files are installed by in ${prefix}/etc or 18583d2307dSDag-Erling Smørgravwhatever you specified as your --sysconfdir (/usr/local/etc by default). 18683d2307dSDag-Erling Smørgrav 18783d2307dSDag-Erling SmørgravThe default configuration should be instantly usable, though you should 18883d2307dSDag-Erling Smørgravreview it to ensure that it matches your security requirements. 18983d2307dSDag-Erling Smørgrav 19083d2307dSDag-Erling SmørgravTo generate a host key, run "make host-key". Alternately you can do so 19183d2307dSDag-Erling Smørgravmanually using the following commands: 19283d2307dSDag-Erling Smørgrav 19383d2307dSDag-Erling Smørgrav ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N "" 19483d2307dSDag-Erling Smørgrav ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" 19583d2307dSDag-Erling Smørgrav ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N "" 19683d2307dSDag-Erling Smørgrav 19783d2307dSDag-Erling SmørgravReplacing /etc/ssh with the correct path to the configuration directory. 19883d2307dSDag-Erling Smørgrav(${prefix}/etc or whatever you specified with --sysconfdir during 19983d2307dSDag-Erling Smørgravconfiguration) 20083d2307dSDag-Erling Smørgrav 20183d2307dSDag-Erling SmørgravIf you have configured OpenSSH with EGD support, ensure that EGD is 20283d2307dSDag-Erling Smørgravrunning and has collected some Entropy. 20383d2307dSDag-Erling Smørgrav 20483d2307dSDag-Erling SmørgravFor more information on configuration, please refer to the manual pages 20583d2307dSDag-Erling Smørgravfor sshd, ssh and ssh-agent. 20683d2307dSDag-Erling Smørgrav 2075e8dbd04SDag-Erling Smørgrav4. (Optional) Send survey 2085e8dbd04SDag-Erling Smørgrav------------------------- 2095e8dbd04SDag-Erling Smørgrav 2105e8dbd04SDag-Erling Smørgrav$ make survey 2115e8dbd04SDag-Erling Smørgrav[check the contents and make sure there's no sensitive information] 2125e8dbd04SDag-Erling Smørgrav$ make send-survey 2135e8dbd04SDag-Erling Smørgrav 2145e8dbd04SDag-Erling SmørgravThis will send configuration information for the currently configured 2155e8dbd04SDag-Erling Smørgravhost to a survey address. This will help determine which configurations 2165e8dbd04SDag-Erling Smørgravare actually in use, and what valid combinations of configure options 2175e8dbd04SDag-Erling Smørgravexist. The raw data is available only to the OpenSSH developers, however 2185e8dbd04SDag-Erling Smørgravsummary data may be published. 2195e8dbd04SDag-Erling Smørgrav 2205e8dbd04SDag-Erling Smørgrav5. Problems? 22183d2307dSDag-Erling Smørgrav------------ 22283d2307dSDag-Erling Smørgrav 22383d2307dSDag-Erling SmørgravIf you experience problems compiling, installing or running OpenSSH. 22483d2307dSDag-Erling SmørgravPlease refer to the "reporting bugs" section of the webpage at 22583d2307dSDag-Erling Smørgravhttp://www.openssh.com/ 22683d2307dSDag-Erling Smørgrav 22783d2307dSDag-Erling Smørgrav 2284518870cSDag-Erling Smørgrav$Id: INSTALL,v 1.70 2005/04/24 07:52:23 dtucker Exp $ 229