Customer ID



Latest News

Stay up-to-date with press releases and software updates

Back to result Printer-friendly version
NoMachine Makes OpenSSH Win32 Port Available
2010-05-04 by: Silvia Regis

Rome, Italy, May 4, 2010 - NoMachine has made available a Win32 port of OpenSSH. While still in the early stages and requiring a little more evolvement, the port includes both the client and the server and implements a majority of the functionalities found in the original code. As per the OpenSSH development standards, we have added the portability code to the pure version of OpenSSH. 


Available Features

This port adds the Win32 compat layer providing support for:

  • User identity and password management functions such as getuid(), setuid(), getpw*() and others.
  • String management functions like strcasecmp(), strncasecmp() and other functions such as gettimeofday() and gethomedir().
  • Management of file descriptors, file handlers and sockets in an unified way.
  • File descriptor and sockets functions such as fstat(),  fdopen(), open(), dup(), dup2(), pipe(), creat(), socket(), setsockopt(), getsockopt(), getpeername(), getsockname(), ioctlsocket(), listen(), bind(), connect(), shutdown(), accept(), read(), write(), close() and others.
  • The select() function which can work on sockets, files, pipes and console handlers.
  • Windows users authentication.

and brings some changes to the OpenSSH code for:

  • Supporting the CreateProcess() function replacing fork().
  • Allowing compilation on Win32 platform.


Download the NoMachine OpenSSH Win32 Port

You can download the latest version of the OpenSSH port for Win32 from the NoMachine Web site at the following URL:

Build and Installation Instructions

Instructions are available on the NoMachine knowledge base at:


Open Issues

The software has been only summarily tested thus far and we strongly discourage users from installing it on production machines at this stage. The SSH client is fairly stable at this point of development and supports all functionalities of the original code.  The SSH daemon, on the other hand, is still affected by a number of limitations and known bugs:

  • SSHD cannot be installed as a Windows service by means of Win32 administrative tools. SSHD can be installed as a service only by using the cygrunsrv tool from Cygwin.
  • If SSHD is running as a Windows service, it requires that the 'Allow service  to interact with desktop' property is set.  Otherwise some applications may  not be executed.
  • To grant that the connecting user can be authenticated by SSHD, it is necessary that the user belongs to the 'Administrators' group.
  • If the connecting user has been authorized with public key authentication, the GetUserName() function always returns 'SYSTEM' instead of the username.
  • Possible crashes may occur during authorization phase when SSHD is running on Windows Vista.
  • Note also that port of the ssh-keygen tool is not available in this version.