Ошибка 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
Ответ 8
У меня ошибка в 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 и т.д.