SSH: "Дозволи 0644 для" my_key.pub "занадто відкриті."


21

Чому 0644ie -rw-r--r--надто відкритий для SSH-ключа? Також я не зміг знайти жодних помилкових дозволів на .sshкаталог ( 0700) або домашній каталог ( 0731).

До речі, я отримую цю помилку під час тестування парафрази ключа через ssh-keygen -y -f my_key.pub

З повагою

Відповіді:


7

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

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


11

0644 не повинен бути занадто відкритим для відкритого ключа, але занадто відкритим для вашого приватного ключа.

Ваш приватний ключ повинен мати дозвіл, 0600тоді як ваш відкритий ключ має дозвіл 0644.

До речі, ви також повинні подбати про дозвіл на .sshпапку. Він повинен мати дозвіл 0700, щоб лише ви, власник, мали контроль над папкою.

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

Запуск chmod go-w /home/usernameповинен це виправити.


Абсолютно не дотримуйтесь цих інструкцій. Це НЕ, що ви повинні робити. Це також скине всі дозволи домашнього каталогу. Ви повинні ТОЛЬКО змінювати .sshпапку та сам id_rsaфайл, а не весь домашній каталог!
niftylettuce

9

Єдина команда, яку потрібно виконати, - це chmod 600 ~/.ssh/id_rsa. Це воно.

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


Оновлено @TwistyImpersonator
niftylettuce

0

Наведені вище відповіді дійсні, але перед тим, як запустити будь- chmodякі виправлення дозволів, просто переконайтеся, що ваші IdentityFile(-и) ~/.ssh/configстосуються (-ла) вашого приватного ключа. Новачки можуть це неправильно позначати та посилатися на відкритий ключ (із .pubрозширенням), що призводить до тієї самої помилки (оскільки дозволи приватного ключа для відкритого ключа занадто відкриті).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.