Installing libssh2 ================== * Untar this tarball (which, if you're reading this, you've already done) * Run: ./configure (passing additional options as desired) In addition the the standard set of ./configure options (e.g. --prefix) there are five switches which you may wish to pay attention to: * --with-openssl=[DIR] libssh2 requires the OpenSSL library (http://www.openssl.org) for cipher and hash method implementations. ./configure will attempt to locate OpenSSL in a number of default locations: /usr/local/ssl /usr/local /usr /usr/local/openssl If your installation of OpenSSL is in another location, specify it here. * --with-zlib=[DIR] If present, libssh2 will attempt to use the zlib (http://www.zlib.org) for payload compression, however zlib is not required. ./configure will attempt to location a zlib installation in a number of default locations: /usr/local /usr /usr/local/libz /usr/libz /usr/local/zlib /usr/zlib If your installation of zlib is in another location, you may specify it here. * --enable-crypt-none The SSH2 Transport allows for unencrypted data transmission using the "none" cipher. Because this is such a huge security hole, it is typically disabled on SSH2 implementations and is diabled in libssh2 by default as well. Enabling this option will allow for "none" as a negotiable method, however it still requires that the method be advertized by the remote end and that no more-prefferable methods are available. * --enable-mac-none The SSH2 Transport also allows implementations to forego a message authentication code. While this is less of a security risk than using a "none" cipher, it is still not recommended as disabling MAC hashes removes a layer of security. Enabling this option will allow for "none" as a negotiable method, however it still requires that the method be advertized by the remote end and that no more-prefferable methods are available. * --disable-gex-new The diffie-hellman-group-exchange-sha1 (dh-gex) key exchange method originally defined an exchange negotiation using packet type 30 to request a generation pair based on a single target value. Later refinement of dh-gex provided for range and target values. By default libssh2 will use the newer range method. If you experience trouble connecting to an old SSH server using dh-gex, try this option to fallback on the older more reliable method. * Run: make all install