Налаштування SSH-ключів Налаштування Chmod?


63

Мені потрібно використовувати SSH на своїй машині для доступу до мого веб-сайту та його баз даних (налаштування символічної посилання, але я відхиляюсь).

Наступна проблема: я ввожу команду: ssh-keygen -t dsa
Для генерації публічних / приватних пар ключів dsa. Я зберігаю його за замовчуванням ( /home/user/.ssh/id_dsa): І введіть Enter парольну фразу двічі

то я повертаю це:

Попередження: незахищений приватний ключовий файл!
Дозволу 0755 для '/home/etc.ssh/id_rsa' занадто відкриті. Рекомендується, щоб файли вашого приватного ключа НЕ були доступні іншим. Цей приватний ключ буде проігноровано. неправильні дозволи: ігноруйте ключ: [тоді FILE PATH у VAR / LIB / NEOMEWHERE]

Тепер, щоб обійти це, я потім спробував-

sudo chmod 600 ~/.ssh/id_rsa         sudo chmod 600 ~/.ssh/id_rsa.pub    

Але незабаром після того, як мій комп'ютер замерз, і при вході в систему знову з’явився could not find .ICEauthority error. Я вирішив цю проблему і видалив файли SSH, але хочу мати можливість використовувати правильні дозволи, щоб уникнути цих проблем у майбутньому. Як я повинен встановити ICEauthority, або де я повинен зберігати SSH-ключі, або які дозволи вони повинні мати? Чи найкраще використовувати віртуальну машину?

Це все дуже нове, і я переживаю дуже круту криву навчання, тому будь-яка допомога вдячна.


typo- Вибачте, створено лише один набір ключів!
crissixpaul

дозволи на .ssh dir не менш важливі, як і ключові дозволи. Це повинно бути 600. Для того, щоб виправити його запустити: chmod -R 600 ~/.ssh.
KWubbufetowicz

4
насправді, дозволи для каталогу .ssh повинні становити 700, а не 600. Дозвіл на виконання - це той, який надає вам доступ до того, що знаходиться в цьому каталозі. Тож правильні команди повинні бути chmod 700 $HOME/.sshіchmod 600 $HOME/.ssh/id_rsa
Мельбурслан

Помилка щодо .ICEauthority не пов’язана з chmodпоказаними вами командами. Або це збіг обставин, або ви виконали інші команди, які нам не показуєте.
Жиль

Відповіді:


92

chmod 600 ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa.pub(тобто chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub) правильні.

chmod 644 ~/.ssh/id_rsa.pub(тобто chmod a=r,u+w ~/.ssh/id_rsa.pub) також було б правильно, але chmod 644 ~/.ssh/id_rsa(тобто chmod a=r,u+w ~/.ssh/id_rsa) не було б. Ваш відкритий ключ може бути відкритим, важливо, що ваш приватний ключ приватний.

Також ваш .sshкаталог повинен бути написаний лише вами: chmod 700 ~/.sshабо chmod u=rwx,go= ~/.ssh. Звичайно, ви повинні мати можливість читати його та отримувати доступ до файлів у ньому (виконати дозвіл). Це не шкідливо, якщо інші можуть його читати, але теж не корисно.

Вам не потрібно sudo. Не використовуйте sudoдля маніпулювання власними файлами, це може призвести лише до помилок.

Помилка щодо .ICEauthorityне пов'язана з chmodпоказаними вами командами. Або це збіг обставин, або ви виконали інші команди, які нам не показуєте.


Якими повинні бути дозволи на ~ / .ssh / known_hosts?
nikc

0

Я хочу додати до відповідей вище, що для мене мій домашній каталог ( ~/) також повинен мати дозволи 755, незалежно від дозволів ~/.sshта файлів у ньому. (Це було в NAS Synology NAS, можливо, не стосується всіх Linux)

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