Cygwin 64-bit ssh unable to set id_rsa permissions

Problem

When setting up ssh keys with ssh-keygen on Cygwin (x86 or x64) on Windows 8.1, the default permissions of the id_rsa file are too open to be used

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/home/Brent/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /home/Brent/.ssh/id_rsa

Worse yet, due to a strange bug, attempts to change them will fail:

 $ ls -l .ssh
total 6
-rw-rw---- 1 Brent None 1679 Feb 24 14:30 id_rsa
-rw-rw---- 1 Brent None  400 Feb 24 14:30 id_rsa.pub
-rw-rw---- 1 Brent None  595 Feb 24 11:52 known_hosts

$ chmod -v 600 .ssh/*
mode of `.ssh/id_rsa' changed from 0660 (rw-rw----) to 0600 (rw-------)
mode of `.ssh/id_rsa.pub' changed from 0660 (rw-rw----) to 0600 (rw-------)
mode of `.ssh/known_hosts' changed from 0660 (rw-rw----) to 0600 (rw-------)

 $ ls -l .ssh
total 6
-rw-rw---- 1 Brent None 1679 Feb 24 14:30 id_rsa
-rw-rw---- 1 Brent None  400 Feb 24 14:30 id_rsa.pub
-rw-rw---- 1 Brent None  595 Feb 24 11:52 known_hosts

Solution

To use chmod, change the group membership of the files:

$ chgrp -R Users .ssh

$ chmod -v 600 .ssh/*
mode of `.ssh/id_rsa' changed from 0660 (rw-rw----) to 0600 (rw-------)
mode of `.ssh/id_rsa.pub' changed from 0660 (rw-rw----) to 0600 (rw-------)
mode of `.ssh/known_hosts' changed from 0660 (rw-rw----) to 0600 (rw-------)

$ ls -l .ssh
total 6
-rw------- 1 Brent Users 1679 Feb 24 14:30 id_rsa
-rw------- 1 Brent Users  400 Feb 24 14:30 id_rsa.pub
-rw------- 1 Brent Users  595 Feb 24 11:52 known_hosts

Source