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

У меня была проблема с моим mac, где я больше не мог сохранять файлы на диске. Мне пришлось перезагрузить OSX lion и reset разрешения на файлы и 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?

Ответы

Ответ 1

Ключи должны быть доступны только вам:

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.

Ответ 2

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

Ответ 3

Локально-независимое решение, которое работает в Windows 8.1:

chgrp 545 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa

GID 545 - это специальный идентификатор, который всегда относится к группе "Пользователи", даже если вы используете локаль для другого пользователя.

Ответ 4

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

Ответ 5

AFAIK:

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

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

Ответ 6

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

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

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

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

Ответ 7

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

chmod 400 /Users/username/.ssh/id_rsa

enter image description here

Ответ 8

У меня ошибка в Windows 10, поэтому я установил разрешение следующим образом, и это работает.

Permission for id_rsa of windows 10

Подробно удаляйте других пользователей/группы, пока у них не появятся только "СИСТЕМА" и "Администраторы". Затем добавьте в него свой логин Windows только с правами чтения.

Обратите внимание, что файл id_rsa находится в папке c:\users\<username>.

Ответ 9

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

Ответ 10

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

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

chmod 600 FOLDER

Ответ 11

Это то, что работает для меня (на Mac)

sudo chmod 600 path_to_your_key.pem 

затем:

ssh -i path_to_your_key [email protected]_ip

Надеюсь, это поможет

Ответ 12

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

{Можно сначала изменить свой замок, а затем открыть его ключами, которые у него уже есть}

cd ~/.ssh
chmod 400 id_rsa

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

Ответ 13

Для меня (с использованием подсистемы Ubuntu для Linux) сообщение об ошибке изменилось на:

 Permissions 0555 for 'key.pem' are too open

после использования chmod 400. Оказалось, что использование root в качестве пользователя по умолчанию было причиной.

Измените это с помощью cmd:

 ubuntu config --default-user your_username

Ответ 14

У меня та же проблема после перехода с другого Mac. И он заблокировал соединение с github моим ключом.

Я сбросил разрешение, как показано ниже, и теперь оно работает хорошо.

chmod 700 ~/.ssh     # (drwx------)
cd ~/.ssh            
chmod 644 *.pub      # (-rw-r--r--)
chmod 600 id_rsa     # (-rw-------)

Ответ 15

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

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

Ответ 16

Я попробовал 600 уровень разрешения для моего закрытого ключа, и он работал для меня. chmod 600 privateKey [dev] $ ssh -i privateKey user @ip работал

chmod 755 privateKey [dev] $ ssh -i privateKey user @ip, который выдавался ниже: проблема 0755 для 'privateKey' слишком открыта. Требуется, чтобы ваши файлы закрытого ключа НЕ были доступны другим. Этот закрытый ключ будет игнорироваться. Клавиша загрузки "privateKey": плохие разрешения

Ответ 17

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

Ответ 18

для Win10 нужно переместить свой ключ в домашний каталог пользователя для linuxlike os, вам нужно chmod до 700 или 600 и т.д.