227 lines
6.1 KiB
Plaintext
227 lines
6.1 KiB
Plaintext
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 |