I've just set up an SSH server (OpenSSH) on a Windows 7 machine using cygwin and I'm trying to connect to it using PuTTY on a Windows Vista machine but I keep getting Connection timed out. I've checked the network activity on the Win 7 machine with Wireshark and found that I am receiving TCP SYN on port 22 on the Win 7 machine, but the ssh server doesn't seem to reply. I've checked the port number sshd is configured to use, checked my firewall rules and verified that I can ssh localhost (which I can just fine). I have absolutely no idea how to troubleshoot this problem.
You may have Windows Firewall running. Open: Control Panel -> Windows Firewall -> Allow a program or feature through Windows Firewall
Click the "Change settings" button then the "Allow another program..." button. SSHD is probably not in the list that comes up, so use the "Browse..." button to find the binary and click "Open" and then "Add". Mine was in C:\cygwin\usr\sbin\sshd.exe
Somewhere in there you can decide which "Network location types..." you want to use. I left mine with Private checked and public unchecked. I can now login remotely.
Does your sshd_config specify ListenAddress as 0.0.0.0 or 127.0.0.1?
If it's 0.0.0.0 or just commented out, then you can connect from outside the machine, ie, from another computer.
If it's 127.0.0.1 (or any other 127.0.0.x number), then it's ONLY listening on the LOCALHOST, and you can only log in from the SAME machine. External machines are denied.
For me the issue was with incorrect ownership of the
/var/empty file. The problem became obvious after putting sshd in debug mode with
/usr/sbin/sshd.exe -D -dd. I had to correct it with:
chown [user]:[group] /var/empty
User and group were taken from the
ls -la /var directory (just matched other files). See more info here: https://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC340
Make sure you are win 7 Antivirus is not blocking port 22. Also, go to your windows service panel and search for CYGWINsshd and enable it. set logon to locate and check of the box.
That will fix the issue: user@mymachine ~ $ net start sshd System error 1069 has occurred.
The service did not start due to a logon failure.
I had a case where the permissions on the /home directory were bad. sshd in debug mode told me:
Authentication refused: bad ownership or modes for directory /home
The perms looked like:
drwxrwxrwt+ 1 xxxxx None 0 Jul 15 12:41 home/
I changed them to:
drwxr-xr-x+ 1 xxxxx None 0 Jul 15 12:41 home/
And it started working.