====== Fix "bad owner or permissions" for SSH in Cygwin ====== When I upgraded my Cygwin installation from 1.7.33 to 1.7.34, I started to get a "bad owner or permission" error message when I'd start a SSH connection. I searched the web for a couple of days but every website that I went to said to do: cd .ssh chmod 600 config chmod 600 id_rsa Unfortunately, every time I'd execute that, the permissions would not change and I see this for the directory listing: user@LAPTOP:~/.ssh $ dir total 72K d---rwx---+ 1 user Domain Users 0 Feb 1 18:46 . d---rwx---+ 1 user Domain Users 0 Jan 31 20:57 .. ----rwx---+ 1 user Domain Users 1.5K Oct 29 18:13 config ----rwx---+ 1 user Domain Users 1.7K May 18 2013 id_github ----rwx---+ 1 user Domain Users 1.5K Aug 6 2014 id_github.ppk ----rwx---+ 1 user Domain Users 1.7K Feb 17 2013 id_host1 ----rwx---+ 1 user Domain Users 1.5K Aug 6 2014 id_host1.ppk ----rwx---+ 1 user Domain Users 1.7K May 5 2014 id_host2 ----rwx---+ 1 user Domain Users 1.7K May 18 2013 id_host3 ----rwx---+ 1 user Domain Users 1.7K Mar 8 2011 id_host4 ----rwx---+ 1 user Domain Users 883 Jan 14 2013 id_rsa ----rwx---+ 1 user Domain Users 8.7K Feb 1 14:15 known_hosts I finally came across a [[https://www.cygwin.com/ml/cygwin/2014-12/msg00219.html|mailing list post]] talking about how the new version of Cygwin took ACLs into account when calculating permissions. This turned out to be the answer and directed me toward the solution: setfacl --s user::rw-,group::---,other::---,mask::--- config setfacl --s user::rw-,group::---,other::---,mask::--- id_github setfacl --s user::rw-,group::---,other::---,mask::--- id_host1 setfacl --s user::rw-,group::---,other::---,mask::--- id_host2 setfacl --s user::rw-,group::---,other::---,mask::--- id_host3 setfacl --s user::rw-,group::---,other::---,mask::--- id_host4 setfacl --s user::rw-,group::---,other::---,mask::--- id_rsa which then gave me the correct permissions: user@LAPTOP:~/.ssh $ dir total 72K d---rwx---+ 1 user Domain Users 0 Feb 1 18:46 . d---rwx---+ 1 user Domain Users 0 Jan 31 20:57 .. -rw------- 1 user Domain Users 1.5K Oct 29 18:13 config -rw------- 1 user Domain Users 1.7K May 18 2013 id_github ----rwx---+ 1 user Domain Users 1.5K Aug 6 2014 id_github.ppk -rw------- 1 user Domain Users 1.7K Feb 17 2013 id_host1 ----rwx---+ 1 user Domain Users 1.5K Aug 6 2014 id_host1.ppk -rw------- 1 user Domain Users 1.7K May 5 2014 id_host2 -rw------- 1 user Domain Users 1.7K May 18 2013 id_host3 -rw------- 1 user Domain Users 883 Mar 8 2011 id_host4 -rw------- 1 user Domain Users 1.7K Jan 14 2013 id_rsa ----rwx---+ 1 user Domain Users 8.7K Feb 1 14:15 known_hosts After this, SSH worked the same as when Cygwin 1.7.33 was installed. I'm not sure if SSH was upgraded during upgrade so it may have been the result of a newer version of OpenSSH. Checking the version indicates that the binary was most likely part of the upgrade: user@LAPTOP:~/ $ ssh -V OpenSSH_6.7p1, OpenSSL 1.0.1k 8 Jan 2015