SSH: «Права доступа 0644 для my_key.pub слишком открыты».

21

Почему 0644то есть -rw-r--r--слишком открыт для ключа SSH? Также я не смог найти никаких ложных разрешений на .sshкаталог ( 0700) или домашний каталог ( 0731).

Кстати, я получаю эту ошибку при тестировании перефразирования ключа через ssh-keygen -y -f my_key.pub

С наилучшими пожеланиями

user2820379
источник

Ответы:

7

Возможно, вы запускаете ssh-keygen не на тот файл. ssh-keygen -yработает с файлом закрытого ключа. Файлы ".pub" обычно содержат открытый ключ. Вероятно, у вас есть файл с именем my_keyбез какого-либо расширения, и он должен быть в режиме 0600. Это файл, который должен содержать закрытый ключ.

Чтобы напрямую ответить на ваш вопрос, SSH-ключи обычно используются для разрешения подключения к удаленным серверам без пароля. Владение закрытым ключом позволит кому-то войти в вашу учетную запись в любой системе, которая принимает ключ. ssh-keygen и другие утилиты ssh требуют, чтобы файлы закрытого ключа имели ограниченные разрешения, потому что файлы чувствительны и должны оставаться защищенными.

Kenster
источник
11

0644 не должен быть слишком открытым для открытого ключа, но слишком открытым для вашего закрытого ключа.

Ваш закрытый ключ должен иметь разрешение, в 0600то время как ваш открытый ключ имеет разрешение 0644.

Кстати, вы также должны позаботиться о разрешении на .sshпапку. Он должен иметь разрешение 0700, так что только вы, владелец, можете контролировать папку.

Что касается вашего домашнего каталога, разрешение на запись не должно предоставляться группе и другим.

Запуск chmod go-w /home/usernameдолжен исправить это.

pallxk
источник
Абсолютно не следуйте этим инструкциям. Это НЕ то, что вы должны делать. Это также сбросит все права доступа к домашнему каталогу. Вы должны ТОЛЬКО изменять .sshпапку и сам id_rsaфайл, а не весь ваш домашний каталог!
niftylettuce
9

Единственная команда, которую вам нужно выполнить, это chmod 600 ~/.ssh/id_rsa. Вот и все.

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

niftylettuce
источник
Обновленный @TwistyImpersonator
niftylettuce
0

Ответы выше, справедливы , но перед запуском любой chmodразрешениям исправить, просто убедитесь , что ваш IdentityFile(ы) в ~/.ssh/configделать обратитесь к закрытому ключу. Новички могут неправильно это понимать и .pubвместо этого ссылаться на открытый ключ (с расширением), что приводит к той же самой ошибке (поскольку права доступа к файлу открытого ключа слишком открыты для закрытого ключа).

Javarome
источник