Настройка 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
Googling, похоже, является ошибкой разрешений (конечно). Одна проблема: разрешения мне подходят.
Я также пробовал делать chmod 0600 ~/.ssh/config
, но это не помогло. То, что я пробовал делать:
- Wake-on-LAN через Интернет практически невозможно
- DNS через SSH-туннель
- Что именно определяет, если фоновая работа убита, когда оболочка завершена или убита?
- Как заставить OS X вернуть заголовок терминала в исходное название при возврате из ssh?
- Можете ли вы указать git-shell в .ssh / authorized_keys для ограничения доступа только к git-командам через ssh?
[email protected]Windows8VM ~/dev/NonExceptional $ chmod 0600 ~/.ssh/config [email protected] ~/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 обновлен
- Как я могу удаленно запускать сценарии на нескольких серверах, добавлять выходные данные
- Не удалось открыть соединение с вашим агентом аутентификации
- Включить SSH на Mac в однопользовательском режиме
- Передача агента SSH с использованием разных имен пользователей и разных ключей
- Могу ли я установить кодовую страницу KiTTY по умолчанию для UTF-8 вместо ISO-8859-1?
- SSH ProxyCommand на стороне сервера SSH
- Можно ли клонировать корневую файловую систему работающего сервера через ssh?
- Как загрузить локальный файл на сервер через терминал Linux
Не забывайте ACL
Ничто не работало для меня, пока я не разделил файл ACL и не сбросил разрешения.
#remove ACLs setfacl -b ~/.ssh/config #reset permissions chmod 0600 ~/.ssh/config
Вы можете использовать getfacl
для просмотра текущего ACL в файле.
getfacl ~/.ssh/config
Прежде чем удалить ACL (Broken):
# 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:---
Iv'e обнаружил, что это всегда исправляет это:
chown Username:Users ~/.ssh/config chmod go-rw ~/.ssh/config
Проблема закончилась тем, что файл принадлежал группе «Нет». Я изменил группу на «Пользователи», а затем я мог свободно изменять разрешения
Я понял это из этого связанного вопроса
Это решение помогло мне:
cd ~/.ssh chmod 600 *
Эти команды должны работать:
chown $USER ~/.ssh/config chmod 644 ~/.ssh/config
Префикс с sudo
если файлы принадлежат другому пользователю.
Если больше файлов затронуты, замените config
на *
.
В man ssh
мы можем читать:
Из-за возможности злоупотребления этот файл должен иметь строгие разрешения: читать / писать для пользователя и не записываться другими. Это может быть групповой доступ, если только указанная группа содержит только пользователя.
Это работало для окон со вкладки «Владелец» в файлах файлов Windows, добавив требуемый USER в качестве владельца cd в место, где присутствует файл конфигурации, а затем ssh для размещения
Мой cygwin64 на win7 работает как admin, chmod / chown / setacl / icacls / copyacls / не помог; Только это сработало: ssh -F ~/.ssh/config ...
Ваш файл конфигурации доступен для записи для группы, и SSH этого не нравится. Сделайте
Chmod go-rw ~ / .ssh / config