diff --git a/OpenSSH-32-bit-Build-and-Installation-Instructions.md b/OpenSSH-32-bit-Build-and-Installation-Instructions.md new file mode 100644 index 0000000..8e55bf2 --- /dev/null +++ b/OpenSSH-32-bit-Build-and-Installation-Instructions.md @@ -0,0 +1,184 @@ +#### STEP 1: Prepare the Cygwin 32-bit environment + +##### 1. Download the Cygwin 32-bit installer from www.cygwin.com + +##### 2. Launch the Cygwin installer, and ensure that packages listed below are selected as 'install': + +- devel/mingw-* + +- devel/mingw64-* + +- perl/* + +- devel/make: GNU Tool + +- devel/autoconf + +- devel/autoconf-2.69-2 + + See REFERENCE VERSIONS below for the detailed list of packages used for reference build. + + +#### STEP 2: Compile + +##### 1. Ensure that are you using correct mingw32 toolchain. You must have administrative rights. + + To do that, create symbolic links: + + run the [openssh_dir]/scripts/set-mingw32.sh script from the Cygwin /bin directory + + +##### 2. Prepare the 32-bit libssl.a and libcrypto.a libraries and the openssl headers. + + These libraries are used by 32-bit openssh and 32-bit ssh-lsa. + + - Download OpenSSL sources from http://www.openssl.org/source/. + + Version used as reference build is openssl-1.0.1e. + + - Compile sources by running: + + $./Configure mingw + + $make + +##### 3. Prepare 32-bit libz.a and zlib.dll. + + - Download ZLIB sources from http://www.zlib.net + + Version used as reference build is 1.2.8. + + - Compile sources by running: + + make -f win32/Makefile.gcc + +##### 4. Build 32-bit OpenSSH: + +Run the following commands under a Cygwin shell in the openssh directory: + + $autoreconf + + $./configure --build=i686-pc-mingw32 + --host=i686-pc-mingw32 + --with-ssl-dir= + --with-zlib= + --with-kerberos5 + +where is a directory where openssl sources are extracted and is a directory where zlib sources are extracted + + $cat config.h.tail >> config.h + +Build one of SSH family tool: + +Run: + + $make + + where is any of the OpenSSH tools ported to Win32. + + sftp.exe + ssh-agent.exe + ssh-add.exe + ssh-keygen.exe + sftp-server.exe + ssh.exe + sshd.exe + +##### 5. Build 32-bit ssh-lsa for native RSA/DSA key authorization + +Move to contrib/win32/win32compat/lsa directory and run: + + $export LIBSSL_PATH="" + + $make -f Makefile.mingw32 + + where is a directory where openssl sources are extracted + + - This command should produce the 32-bit ssh-lsa.dll file. + + +### STEP 3 - Install ssh-lsa on system where sshd server is running + +- Copy the ssh-lsa.dll to the %WINDIR%/System32 directory. + +- Then, by using the regedit tool, add 'ssh-lsa.dll' string to the end of the registry key below: + + HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa/Authentication Packages + +- Reboot the machine. + +### REFERENCE VERSIONS + +##### CYGWIN PACKAGES +13-1 Devel/autoconf: Wrapper for autoconf command + +2.13-12 Devel/autoconf2.1: Stable version of the automatic configure builder + +2.69-2 Devel/autoconf2.5: An extensible package of m4 macros shell scripts + to automatically configure software code packages + +2.23.51-1 Devel/binutils: The GNU assembler, linker and binary utilites + +4.8.2-1 Devel/libgcc1: GCC C runtime library + +4.8.2-1 Devel/libssp0: GCC Stack-smashing Protection runtime library + +4.8.2-1 Devel/libstdc++6: GCC C++ runtime library + +4.0-2 Devel/make: The GNU version of 'make' utility + +2.23.1-1 Devel/mingw-binutils: Bintutils for MinGW.org win32 toolchain (util) + +4.7.3-1 Devel/mingw-gcc-core + +4.7.3-1 Devel/mingw-gcc-g++ + +4.7.3-1 Devel/mingw-gcc-obj + +20110507-2 Devel/mingw-pthreads: Libpthread for MinGW.org + +4.0-1 Devel/mingw-runtime: MinGW.org MSVC & compiler runtime header and libraries + +4.0-1 Devel/mingw-w32api + +2.22.52-1 Devel/mingw64-i686-binutils + +4.7.3-1 Devel/mingw64-i686-gcc-core + +4.7.3-1 Devel/mingw64-i686-gcc-g++ + +3.0.0-1 Devel/mingw64-i686-headers + +20100619-5 Devel/mingw64-i686-pthreads + +3.0.0-1 Devel/mingw64-i686-runtime + +3.0b_svn5935-1 Devel/mingw64-winpthreads + +2.22.52-1 Devel/mingw64-x86_64-binutils + +4.7.3-1 Devel/mingw64-x86_64-gcc + +4.7.3-1 Devel/mingw64-x86_64-core + +4.7.3-1 Devel/mingw64-x86_64-g++ + +3.0.0-1 Devel/mingw64-x86_64-headers + +20100619-5 Devel/mingw64-x86_64-pthreads + +3.0.0-1 Devel/mingw64-x86_64-runtime + +3.0b-svn5935-1 Devel/mingw64-x86_64-winpthreads + +5.14.2-3 Perl/perl + + +##### OpenSSL + +openssl-1.0.1e + + +##### ZLIB + +zlib-1.2.8