-
-
Save roxlu/5038729 to your computer and use it in GitHub Desktop.
Installing CYGWIN with SSH | |
1) Download cygwin setup.exe from http://www.cygwin.com | |
- Execute setup.exe | |
- Install from internet | |
- Root directory: `c:\cygwin` + all users | |
- Local package directory: use default value | |
- Select a mirror to download files from | |
- Select these packages: | |
- editors > xemacs 21.4.22-1 | |
- net > openssh 6.1-p | |
- admin > cygrunsrv 1.40-2 | |
- Click continue | |
- When everything is installed configure SSHD | |
2) Configure SSHD | |
- open a cygwin terminal: start > RIGHT MOUSE ON "Cygwin terminal" AND "RUN AS ADMINISTRATOR" | |
- $ ssh-host-config | |
- Are you sure you want to continue: YES | |
- You have the required privileges: YES | |
- Overwrite existing /etc/ssh_config: YES | |
- Should privilege separation be used: YES | |
- Use local account 'sshd': YES | |
- Do you want to install 'sshd' as a service: YES | |
- name CYGWIN: just press enter | |
- Do you want to use a different name: no | |
+++ you can skip this ++ | |
- Create new privileged user account (cyg_server): YES | |
- enter password | |
- reenter password | |
+++ end of skip ++ | |
3) Add a SSHD account | |
- Open control panel | |
- Create a new account with administrator rights | |
- set a password for this new account | |
4) Add the user to SSHD password | |
$ cd /etc/ | |
$ cp passwd passwd_bak | |
$ /bin/mkpasswd.exe -l -u [new_username] >> /etc/passwd | |
(for example: /bin/mkpasswd.exe -l -u roxlu >> /etc/passwd to add the password for roxlu) | |
5) Open SSHD port (22) | |
- Open control panel | |
- Click on System and Security | |
- Click on Windows Firewall | |
- On the left click on advanced settings | |
- click: select "Inbound Rules" | |
- click: New Rule ... | |
- [x] Port | |
NEXT | |
- TCP | |
Specific ports: 22 | |
NEXT | |
- [x] Allow the connection | |
NEXT | |
- [x] Domain | |
[x] Private | |
[x] Public | |
NEXT | |
6) Trouble shooting | |
- first check if you can connect to the SSHD server on the same machine: | |
- open a Cygwin terminal | |
$ ssh -l [username] localhost | |
If you can't connect to the server on localhost check if the sshd daemon is running (see blow) | |
- check if the SSHD daemon is runing | |
- open control panel | |
- search for "services" | |
- click on "View local services" | |
- search for "CYGWIN sshd" | |
- make sure it's there, else try reinstalling sshd |
Thank. I tried my user with my password, and it didn't work, I tried my user with domain and password, and it didn't work either. I believe that my laptop has some security policies that don't allow me to make this setup.
The sshd logs should give hints on the issue. There could be some policy or other( anti malware/virus tools?) at play. Check this out for logging.
I was hoping to find an automated process for this as I need to do this on 20+ machines. No luck
See https://petemoore.github.io/general/taskcluster/2016/03/30/windows-sshd-cygwin-ec2-aws.html (although I realise I'm pointing this out 7 years after you asked!!!) 😆
I love it that these gists are still read and maybe are usefull to someone.
Meanwhile you could also check the built in server which is part of Win 10.
I was hoping to find an automated process for this as I need to do this on 20+ machines. No luck
See https://petemoore.github.io/general/taskcluster/2016/03/30/windows-sshd-cygwin-ec2-aws.html (although I realise I'm pointing this out 7 years after you asked!!!) laughing
lol brings me back. First week of a job I've long left
By default, I believe that all users are authorized to use SSH so the username and password is the windows username and password. You can update the sshd_config file to restrict accounts but the password is always the windows password. There may be a way to bypass that but I've always used it in this way.