The Cygwin SSHD service must be installed on a Windows base image. It allows the management node to login to the computer in order to configure it and to perform periodic checks.

Install Cygwin

Apache VCL current version

  • Log on to the Windows computer being used for the VCL image as root

    The scripts included with the Apache VCL source code which configure the Cygwin sshd service will likely fail if you install Cygwin while logged in as a user other than root.

  • Download the Cygwin installer to the desktop: 
  • Run the Cygwin installer:

    setup-x86_64.exe

    If running a version of Windows which includes User Account Control (UAC), be sure to either disable UAC and reboot before installing Cygwin or right-click setup.exe and select Run as Administrator

  • Configure as follows:
    • Select Install from Internet
    • Root Directory: C:\cygwin (This needs to be changed from the default value.)
    • Install For: All Users
    • Local Package Directory: browse to root's desktop
    • Internet Connection: Direct Connection
    • Download Site: choose a site close to your location (.edu FTP sites seem the fastest)
    • If presented with a "Setup Alert - This is the first time you've installed Cygwin x.x.x" window, click OK
    • Select Packages (expand the tree and change the dropdown from Skip to a version to install; the lowest version should be sufficient):
      • Editors : vim
      • Net: openssh
      • Utils: dos2unix
      • Web: wget
    • Click Next
    • Click Next to confirm changes and start installation (it may take a few tries to pick the right installation site where all packages install correctly)
    • Create icon on Desktop: Yes
    • Add icon to Start Menu: No
    • Click Finish

Configure the Cygwin Desktop Shortcut

It is useful to have a Cygwin shortcut on root's desktop. The Cygwin installer creates the desktop icon in the shared desktop folder for all users meaning it will appear on the desktop when users make reservations for the image. This is not recommended. Move the shortcut from the shared desktop folder to root's desktop folder (if moving through Explorer, you'll need to allow viewing of hidden items to see Public's Desktop):

  • C:\Users\Public\Desktop\Cygwin.lnk > C:\Users\root\Desktop\Cygwin.lnk

Delete the Installation Files

After Cywgin installation is complete, delete the installation files from the desktop:

  • Installer: setup-x86_64.exe
  • Local package directory: C:\ftp%...cygwin...

Configure the Cygwin SSHD Service

  • Launch the Cygwin shortcut on the desktop as Administrator (Right click on the icon → Run as administrator)

  • Download cygwin-sshd-config.sh using wget to root's Cygwin home directory on the Windows computer:
    C:\Cygwin\home\root\cygwin-sshd-config.sh

  • Set the script to be executable:

    chmod +x cygwin-sshd-config.sh

  • Run the script and specify the root account password as an argument, enclose the password in single quotes in case special characters are used in the password:

    ./cygwin-sshd-config.sh 'PASSWORD'

    • If asked to enter a new user name, enter root
    • If asked to enter a password, enter the password set for the Windows root user. This is the same password entered as the cygwin-sshd-config.sh argument.
    • If everything worked correctly, you should now be in a Command shell and see something similar to the following towards then end of the script output:

      The CYGWIN cygsshd service was started successfully.

Configure SSH Identity Key Access from the Management Node

  • Log in as root on the management node
  • Download gen-node-key.sh using wget to the management node:

  • Set the script to executable:

    chmod +x gen-node-key.sh

  • Determine the IP address of the Windows computer by running ipconfig - use the address for the NIC on the private network
  • Run the script on the management node and specify the Windows computer's IP address or hostname as the 1st argument. A second argument specifying the private SSH key path can be specified. If the 2nd argument isn't specified, /etc/vcl/vcl.key will be used.

    ./gen-node-key.sh 10.10.18.179

    • Enter the Windows root account password during script execution when asked

    • If it runs correctly, you should see something similar to the following towards the end of the script output:

      The CYGWIN cygsshd service was started successfully.

    • Attempt to connect from the management node to the Windows computer via SSH using the command displayed at the end of the gen-node-key.sh output
  • No labels

1 Comment

  1. Please note that using Cygwin 1.7 with Windows 7 is probably a good idea. I ran into some compatibility issues running the older 1.5. (Sometimes when I ssh'd into a system, from the manager, the system's bash would blow up - which locks you out)

    Also, if you are upgrading from 1.5 to 1.7, you'll need to re-run both 'cygwin-sshd-config.sh', and 'gen-node-key.sh' due to the 'nodosfilewarning' and to the changes to the SSH's sshd_config. The default 'usePrivilegeSeparation' changed from from false to true.
    Which requires additional permissions to be set.

    I found shutting down the 'Cygwin SSH' service before the Cygwin update, made the update go more smoothly.

    Sometimes, I had to re-update cygwin a couple times. If you open the cygwin bash shell and
    'ls' doesn't work - reboot and try again.