Ошибка ssh «разрешения слишком открыта»

У меня была проблема с моим mac, где я больше не мог сохранить какой-либо файл на диске. Мне пришлось перезагрузить OSX lion и сбросить разрешения на файлы и acls.

Но теперь, когда я хочу зафиксировать repository, я получаю следующую ошибку от 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 

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

Соответствующая часть из man-страницы ( man ssh )

  ~/.ssh/id_rsa Contains the private key for authentication. These files contain sensitive data and should be readable by the user but not accessible by others (read/write/execute). ssh will simply ignore a private key file if it is accessible by others. It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using 3DES. ~/.ssh/identity.pub ~/.ssh/id_dsa.pub ~/.ssh/id_ecdsa.pub ~/.ssh/id_rsa.pub Contains the public key for authentication. These files are not sensitive and can (but need not) be readable by anyone. 

Используя 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 

GID 545 – это особый идентификатор, который всегда относится к группе «Пользователи», даже если вы используете язык для разных пользователей.

0600 – это то, что у меня установлено (и оно работает)

AFAIK значения:

700 для скрытого каталога «.ssh», где находится ключевой файл

600 для ключевого файла «id_rsa»

Существует одно исключение из требования к полномочиям «0x00» для ключа. Если ключ принадлежит группе root и группе, принадлежащей группе с пользователями, то она может быть «0440», и любой пользователь этой группы может использовать ключ.

Я считаю, что это будет работать с любыми разрешениями в наборе «0xx0», но я не тестировал каждую комбинацию с каждой версией. Я пробовал 0660 с 5.3p1-84 на CentOS 6, а группа не основная группа пользователя, а вторая группа, и она работает нормально.

Обычно это не делается для личного ключа кого-то, а для ключа, используемого для автоматизации, в ситуации, когда вы не хотите, чтобы приложение могло взаимодействовать с ключом.

Аналогичные правила применяются к ограничениям каталога .ssh.

что сработало для меня

chgrp Пользователи FOLDER

chmod 600 FOLDER

Прослушивание сообщения здесь. Операционные Syatems достаточно умны, чтобы отказать в удаленных подключениях, если ваш закрытый ключ слишком открыт. Он понимает риск, когда разрешения для id_rsa широко открыты (читайте, редактируется кем угодно).

{Сначала можно было бы сменить замок, а затем открыть его с помощью ключей, которые у него уже есть. }

 cd ~/.ssh chmod 400 id_rsa 

PS:

Работая на нескольких серверах (непроизводственных), большинству из нас необходимо подключать удаленный сервер с помощью ssh. Хорошая идея – иметь код кода уровня приложения (может быть java с помощью jsch) для создания доверительных отношений ssh ​​между серверами. Таким образом, соединение будет бездействующим. Incase, perl установлен – можно также использовать модуль net ssh.

Я столкнулся с этой ошибкой, когда играл с Ansible. Я изменил разрешения закрытого ключа на 600 , чтобы решить эту проблему. И это сработало!

 chmod 600 .vagrant/machines/default/virtualbox/private_key 

В Windows 10 chmod и chgrp cygwin были недостаточны для меня. Мне нужно было щелкнуть правой кнопкой мыши по файлу -> Свойства -> Безопасность (вкладка) и удалить всех пользователей и группы, кроме моего активного пользователя.

предоставить разрешение 400, выполнить команду ниже

 chmod 400 /Users/username/.ssh/id_rsa 

введите описание изображения здесь

Я использую VPC на EC2 и получаю те же сообщения об ошибках. Я заметил, что я использую общеansible DNS. Я изменил это на частный DNS и vola! это сработало…

  • Обзор разрешений IIS7 - ApplicationPoolIdentity
  • База данных SQLite: только для чтения
  • Какое разрешение требуется для доступа к Интернету из приложения Android?
  • IIS7 Не удалось предоставить запросы минимального разрешения
  • Разрешение отказа: для этого требуется андроид.permission.INTERACT_ACROSS_USERS_FULL
  • adb remount разрешено, но доступно для доступа к суперпользователю в shell-android
  • Разрешение перегрузки C ++
  • проблема с правами на запись файла в папку «Program Files»
  • Множественные разрешения для Android 6.0
  • npm ошибки установки с ошибкой: ENOENT, chmod
  • Список разрешений Android для обычных разрешений и опасных разрешений в API 23?
  • Давайте будем гением компьютера.