Setting up OpenSSH on a windows machine used to be difficult (a few years ago), but it’s really not too hard now. We did run into some trouble that appeared to be caused by a FAT32 filesystem, but more on that later.
Installation
- Download and run Cygwin’s setup.exe.
- Follow the wizard until you get to the package selection dialog. (Defaults are good.)
- Select
openssh(it’s under “Net”) and any other software you need,rsyncfor instance. Don’t deselect anything, the default selection set is pretty much just the base installation. - Tell it to install, and finish the wizard.
SSH Service Setup
- Open a Cygwin
bashprompt from the icon on the desktop or the “start” menu. - Run
ssh-host-config.- When asked what to set the
CYGWINvariable tontsec tty. More info about this variable here. - Accept the defaults and say “yes” to everything, unless you know better. Yes, you want to use privilege separation, yes, you want to create a user for the service, etc.
- When asked what to set the
- Warning: On some hosts (probably those using FAT32) you need an extra step!
cygrunsrv --stop sshd
cygrunsrv --remove sshdcygrunsrv --install sshd --disp "CYGWIN sshd" --path /usr/sbin/sshd --args "-D" --env "CYGWIN=ntsec tty"cygrunsrv --start sshd
- This extra step solves the cygcrypt-0.dll not found problem.
Thanks to Thomas Hennemann for finding the solution despite a lot of disinterest in the problem.