Настройка SSH/Git на Cygwin приводит к ошибке «Неверные права доступа к ~/.ssh/config»

Настройка SSH/Git на Cygwin приводит к ошибке «Неверные права доступа к ~/.ssh/config»

Я пытаюсь настроить Git с OpenSSH под Cygwin. Я почти все настроил. У меня есть агент, открытый ключ и все такое... но теперь я получаю эту действительно странную ошибку:

$ git pull -u origin master
Bad owner or permissions on /home/Jordan/.ssh/config
fatal: The remote end hung up unexpectedly

Если погуглить, то это ошибка разрешений (конечно). Одна проблема: разрешения, как мне кажется, в порядке.

Я также пробовал делать chmod 0600 ~/.ssh/config, но это не помогло. Что я пробовал делать:

Jordan@EarlzWindows8VM ~/dev/NonExceptional
$ chmod 0600 ~/.ssh/config 

Jordan@EarlzWindows8VM ~/dev/NonExceptional
$ stat ~/.ssh/config 
  File: `/home/Jordan/.ssh/config'
  Size: 47              Blocks: 1          IO Block: 65536  regular file
Device: 4ade2efdh/1256075005d   Inode: 1970324837237461  Links: 1
Access: (0660/-rw-rw----)  Uid: ( 1001/  Jordan)   Gid: (  513/    None)
Access: 2013-01-12 22:53:32.483072600 -0500
Modify: 2013-01-12 22:53:32.486074700 -0500
Change: 2013-01-12 23:27:33.077476800 -0500
 Birth: 2013-01-12 22:53:32.483072600 -0500

Обратите внимание, что по какой-то причине разрешения все еще выглядят как 0660. Я не понимаю, почему. Я проверил эти разрешения в проводнике Windows. Только у меня есть доступ к файлу, а при проверке «эффективного доступа» группа Пользователи не имеет доступа к файлу.

Как исправить эту ошибку?

Также немного предыстории: Windows 8 Enterprise. Присоединён к домену (что всегда делает разрешения забавными). Cygwin обновлён

решение1

Не забудьте про списки контроля доступа

У меня ничего не получалось, пока я не удалил файлACL-спискии сбросьте разрешения.

#remove ACLs
setfacl -b ~/.ssh/config

#reset permissions
chmod 0600 ~/.ssh/config

Вы можете использовать getfaclдля просмотра текущего ACL для файла.

getfacl ~/.ssh/config

До того, как я удалил ACL (сломанные):

# owner: Administrators
# group: None
user::rw-
group::---
group:Authenticated Users:rwx
group:SYSTEM:rwx
mask:rwx
other:---

После: (работает)

# file: config
# owner: myusername
# group: None
user::rw-
group::---
other:---

решение2

Я обнаружил, что это всегда исправляет ситуацию:

chown Username:Users ~/.ssh/config
chmod go-rw ~/.ssh/config

решение3

Проблема оказалась в том, что файл принадлежал группе "None". Я изменил группу на "Users" и затем смог свободно менять разрешения

Я понял это изэтот связанный вопрос

решение4

Мой cygwin64 на win7 запущен от имени администратора, chmod/chown/setacl/icacls/copyacls/ не помог; сработало только это:ssh -F ~/.ssh/config ...

Связанный контент