У меня была проблема с моим mac, когда я больше не мог сохранить ни один файл на диске. Мне пришлось перезагрузить OSX lion и сбросить разрешения на файлы и acls.
Но теперь, когда я хочу зафиксировать репозиторий, я получаю следующую ошибку от ssh:
Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
Какие уровни разрешений я должен дать файлу id_rsa?
Ключи должны быть доступны для чтения только вам:
chmod 400 ~/.ssh/id_rsa
Если ключи должны быть доступны для чтения и записи:
chmod 600 ~/.ssh/id_rsa
600 тоже подходит (в большинстве случаев даже лучше, потому что вам не нужно менять права доступа к файлу для его редактирования).
Соответствующая часть из manpage (man ssh
)
~/.ssh/id_rsa Содержит закрытый ключ для аутентификации. Эти файлы содержат конфиденциальные данные и должны быть доступны для чтения пользователю, но недоступны для других пользователей. доступными для других (чтение/запись/выполнение). ssh будет просто игнорировать файл с закрытым ключом, если он не > содержит закрытый ключ. файл с закрытым ключом, если он > доступен доступен другим. Можно указать кодовую фразу при генерации ключа, которая будет использоваться для шифрования секретной > части этого файла. части этого файла с помощью 3DES.
~/.ssh/identity.pub ~/.ssh/id_dsa.pub ~/.ssh/id_ecdsa.pub ~/.ssh/id_rsa.pub Содержит открытый ключ для аутентификации. Эти файлы не являются чувствительными и могут (но не обязательно) быть доступны для чтения любому пользователю.
Использованием Cygwin в Windows 8.1, то есть команды должны быть выполнены:
пользователи команда chgrp ~/.по SSH/id_rsa
Тогда решение опубликовано здесь может быть применен, 400 или 600-это нормально.
команду chmod 600 ~/.по SSH/id_rsa
Реф: http://vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8
Локаль-независимое решение, которое работает на Windows 8.1-это:
chgrp 545 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
Гид 545-это специальный код, что всегда относится к 'пользователей' группы, даже если язык использует различные слова для пользователей.
0600 - это то, на что настроен мой (и он работает).
Существует одно исключение из требования разрешения "0x00" для ключа. Если ключ принадлежит root и принадлежит группе, в которой есть пользователи, то он может быть "0440" и любой пользователь из этой группы может использовать ключ.
Я полагаю, что это будет работать с любыми разрешениями из набора "0xx0", но я не тестировал все комбинации с каждой версией. Я пробовал 0660 с 5.3p1-84 на CentOS 6, и группа была не основной группой пользователя, а вторичной, и она работала нормально.
Обычно это делается не для личного ключа, а для ключа, используемого для автоматизации, в ситуации, когда вы не хотите, чтобы приложение могло работать с ключом.
Аналогичные правила применяются к ограничениям на каталог .ssh.
Я'ве получил ошибку в моей Windows 10, поэтому я поставил разрешение как следующие, и она работает.
В подробности, удалить других пользователей/групп, пока он не только 'система' и 'админы'. Затем добавьте ваши окна входа в него только разрешение на чтение.
Обратите внимание на файл id_rsa
находится под c:\users\< в`; имя пользователя>
папка`.
На Windows 10, с Cygwin'ы и команду chmod, chgrp, указав там'т достаточно для меня. Мне пришлось щелкните правой кнопкой мыши на Файл -> Свойства -> безопасность (вкладка) и удалить всех пользователей и группы, за исключением моего активного пользователя.
что работал для меня
В папке "пользователи" команда chgrp
папка команду chmod 600
Это работало для меня (на маке)
судо команду chmod 600 path_to_your_key.УГР
затем :
СШ-я path_to_your_key пользователя@server_ip
Надеюсь, что это поможет
У меня же проблема после переноса с другого Mac. И он заблокировал для подключения GitHub по моим ключом.
Я сброс разрешения, как показано ниже, и он работает хорошо сейчас.
команду chmod 700 ~/.СШ # (drwx------) команда CD ~/.СШ чмод 644 *.паб # (-RW-р-р--) чмод 600 id_rsa # (-РВ-------)
Вот интересное сообщение. Операционные системы достаточно умны, чтобы запретить удаленное подключение если ваш закрытый ключ является слишком открытым. Она понимает риск, где разрешения для id_rsa широко открыт (для чтения, редактирования кем-либо).
{Можно изменить сначала свой замок, а затем открыть его с ключами у него уже есть}
cd ~/.ssh
chmod 400 id_rsa
При работе на нескольких серверах (непроизводственные), большинство из нас чувствуют необходимость подключить удаленный сервер с SSH. Это хорошая идея, чтобы иметь кусок кода на уровне приложений (может быть Java с помощью jsch) для создания СШ доверительные отношения между серверами. Таким образом соединение будет пароль-меньше. В случае, установленный Perl - один может использовать модуль чистый СШ.
Для меня (с использованием подсистемы ОС Ubuntu для Linux) сообщение об ошибке меняется на:
Permissions 0555 for 'key.pem' are too open
после, используя команду chmod 400. Получается, что используя root пользователя по умолчанию было причиной.
Изменить это с помощью УМК:
ubuntu config --default-user your_username
Я сталкивался с этой ошибкой, пока я играл с Анзибль. Я изменил разрешения закрытый ключ 600 Для того, чтобы решить эту проблему. И это сработало!
chmod 600 .vagrant/machines/default/virtualbox/private_key
Я попробовал на уровне 600 разрешений на мой приватный ключ и он работал для меня. чмод 600 закрытый ключ [Дэв]$ СШ-я закрытый ключ пользователя@ИС работал
чмод 755 закрытый ключ [Дэв]$ СШ-я закрытый ключ пользователя@ИС он давал ниже Вопрос: Разрешения 0755 для 'закрытый ключ' слишком открытые. Необходимо, чтобы ваши личные файлы ключей не доступна другим. Этот закрытый ключ будет проигнорирован. Ключевые нагрузка на "закрытый ключ" в: плохая разрешения
Я использую VPC на EC2 и получаю то же сообщение об ошибке. Я заметил, что использование публичных DNS. Я изменил, что в частном DNS и вола!! он работал...
для Win10 нужно переместить ключ к пользователя's самонаводят реж для linuxlike ОС необходимо выдать до 700 вроде или 600 и т. д.