Cygwin installation on a Windows Server 2008R2
- Create folder c:\cygwin
- Create folder c:\cygwin-install
- Download http://cygwin.com/setup.exe and save to c:\cygwin-install
- Run setup.exe
- Select Install from Internet
- Root Directory: c:\cygwin
- Select Install For All Users
- Local Package directory: C:\cygwin-install
- Internet Connection: Direct Connection
- Choose server
- e.g. ftp://ftp-stud-fht-esslingen.de
- Add the following to the default package selection:
- from Net: openssh, rsync, ping
- and all other packages you need, e.g. vim from Editors
- Start Installation
- Run Cygwin-Terminal from c:\cygwin\ and configure sshd as a service
*** Info: Generating /etc/ssh_host_key *** Info: Generating /etc/ssh_host_rsa_key *** Info: Generating /etc/ssh_host_dsa_key *** Info: Generating /etc/ssh_host_ecdsa_key *** Info: Creating default /etc/ssh_config file *** Info: Creating default /etc/sshd_config file *** Info: Privilege separation is set to yes by default since OpenSSH 3.3. *** Info: However, this requires a non-privileged account called 'sshd'. *** Info: For more info on privilege separation read /usr/share/doc/openssh/README.privsep. *** Query: Should privilege separation be used? (yes/no) yes *** Info: Note that creating a new user requires that the current account have *** Info: Administrator privileges. Should this script attempt to create a *** Query: new local account 'sshd'? (yes/no) yes *** Info: Updating /etc/sshd_config file *** Query: Do you want to install sshd as a service? *** Query: (Say "no" if it is already installed as a service) (yes/no) yes *** Query: Enter the value of CYGWIN for the daemon:  ntsec *** Info: On Windows Server 2003, Windows Vista, and above, the *** Info: SYSTEM account cannot setuid to other users -- a capability *** Info: sshd requires. You need to have or to create a privileged *** Info: account. This script will help you do so. *** Info: You appear to be running Windows XP 64bit, Windows 2003 Server, *** Info: or later. On these systems, it's not possible to use the LocalSystem *** Info: account for services that can change the user id without an *** Info: explicit password (such as passwordless logins [e.g. public key *** Info: authentication] via sshd). *** Info: If you want to enable that functionality, it's required to create *** Info: a new account with special privileges (unless a similar account *** Info: already exists). This account is then used to run these special *** Info: servers. *** Info: Note that creating a new user requires that the current account *** Info: have Administrator privileges itself. *** Info: No privileged account could be found. *** Info: This script plans to use 'cyg_server'. *** Info: 'cyg_server' will only be used by registered services. *** Query: Do you want to use a different name? (yes/no) yes
*** Query: Enter the new user name: cygserver_servername *** Query: Reenter: cygserver_servername *** Query: Create new privileged user account 'cygserver_servername'? (yes/no) yes *** Info: Please enter a password for new user cygserver_servername. Please be sure *** Info: that this password matches the password rules given on your system. *** Info: Entering no password will exit the configuration. *** Query: Please enter the password: *********** *** Query: Reenter: *********** *** Info: User 'cygserver_servername' has been created with password '***********'. *** Info: If you change the password, please remember also to change the *** Info: password for the installed services which use (or will soon use) *** Info: the 'cygserver_servername' account. *** Info: Also keep in mind that the user 'cygserver_servername' needs read permissions *** Info: on all users' relevant files for the services running as 'cygserver_servername'. *** Info: In particular, for the sshd server all users' .ssh/authorized_keys *** Info: files must have appropriate permissions to allow public key *** Info: authentication. (Re-)running ssh-user-config for each user will set *** Info: these permissions correctly. [Similar restrictions apply, for *** Info: instance, for .rhosts files if the rshd server is running, etc]. *** Info: The sshd service has been installed under the 'cygserver_servername' *** Info: account. To start the service now, call `net start sshd' or *** Info: `cygrunsrv -S sshd'. Otherwise, it will start automatically *** Info: after the next reboot.
*** Info: Host configuration finished. Have fun!
- Configure the SSH Service:
It is recommended to unset any AuthorizedKeysFile option and use the default value which is to check both .ssh/authorized_keys and .ssh/authorized_keys2. Edit /etc/sshd_config and comment out or delete this line
and start the service
net start sshd
- Administrator password must be stored in the registry to allow pivate-public-key login w/o a password. Then the sshd service runs in Administrator context.
- Finally open port 22 in the Windows Firewall
- Vim configuration (optional, if Vim is your editor)
Login as Administrator (note the upper case A) and create a vim run control file:
cp /usr/share/vim/vim73/vimrc_example.vim ~/.vimrc
Now the cursor keys are working in a PuTTY session.
Please leave your comments and suggestions on the discussion page.