Win32-OpenSSH/INSTALL.win32

227 lines
6.1 KiB
Plaintext
Raw Normal View History

STEP 1: Prepare the Cygwin environment
======================================
1. Download the Cygwin 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
===============
Build with Cygwin 32-bit
------------------------
1. Ensure that are you using correct mingw32 toolchain. You must have administrative rights.
To do that, create symbolic links:
/bin/i686-pc-mingw32-* |-> /bin/*
or 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=<OPENSSL_DIR>
--with-zlib=<ZLIB_DIR>
--with-kerberos5
where <OPENSSL_DIR> is a directory where openssl sources are extracted and <ZLIB_DIR> is a directory where zlib sources are extracted
$cat config.h.tail >> config.h
Build one of SSH family tool:
Run:
$make <program>
where <program> is any of the OpenSSH tools ported to Win32.
sftp.exe available starting from openssh-5.9p1-win32
ssh-agent.exe available starting from openssh-4.7p1-win32
ssh-add.exe available starting from openssh-4.7p1-win32
ssh-keygen.exe available starting from openssh-4.7p1-win32
sftp-server.exe available starting from openssh-4.7p1-win32
ssh.exe
sshd.exe
4. Build 32-bit ssh-lsa for native RSA/DSA key authorization
Move to <openssh_directory>contribwin32win32compatlsa directory and run:
$export LIBSSL_PATH="/home/nars/openssl-1.0.1e"
$make -f Makefile.mingw32
- This command should produce the 32-bit ssh-lsa.dll file.
Build with Cygwin 64-bit
------------------------
1. Build 32-bit openssl, zlib and openssh following 1-4 steps from 32-bit instruction. OpenSSH tools are always 32-bit.
2. Ensure that you are using correct mingw64 toolchain. You must have administrative rights.
To do that you must create symbolic links:
/bin/x86_64-w64-mingw32-* |-> /bin/*
or run <openssh_dir>/scripts/set-mingw64.sh from the Cygwin /bin directory.
3. Prepare the 64-bit libssl.a and libcrypto.a libraries and the openssl headers. These libraries are used by 64-bit ssh-lsa.
- Move clean OpenSSL sources into another directory, e.g. openssl-64.
- Compile sources by running:
$./Configure mingw64
$make
4. Build 64-bit ssh-lsa for native RSA/DSA key authorization
- Move to <openssh_directory>contribwin32win32compatlsa directory and run:
$export LIBSSL_PATH="/home/nars/openssl-1.0.1e"
$make -f Makefile.mingw32
- This command should produce 64-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.
IMPORTANT NOTE:
If your Windows is at 64-bit, be sure that you use a 64-bit file manager to copy ssh-lsa.dll, otherwise this dll will be not visible on the 64-bit OS.
For example:
- Drag and drop file using Windows explorer.
Or:
- Run copy ssh-lsa.dll c:/windows/system32 under a cmd.exe console.
- Then, by using the regedit tool, add 'ssh-lsa' 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