Дозволи дозволу SSH та домашнього каталогу


53

Щоб вирішити цю проблему SSH за допомогою одного з моїх облікових записів на серверах моєї школи, мені знадобилися години.

Я не зміг ssh в один конкретний обліковий запис класу, не ввівши свій пароль, тоді як автентифікація без паролів працювала з іншими обліковими записами класів. Каталог .ssh / і весь його вміст мали ті самі правильні дозволи, що й інші облікові записи класів.

Виявляється, проблемою були дозволи, встановлені в моєму домашньому каталозі. Автентифікація без пароля не працювала, коли дозволи в моєму каталозі HOME були встановлені на 770 (незалежно від дозволів, встановлених для .ssh /), але вона працювала з дозволами 755 або 700.

Хтось знає, чому SSH робить це? Це тому, що дозволи домашнього каталогу занадто дозволені? Чому SSH відмовляється від автентифікації з відкритими / приватними ключами, коли домашній каталог встановлений дозвольніше, ніж 700?


1
Підтверджені відповіді нижче; проблема полягала в тому, що групові дозволи в домашній папці були встановлені неправильно (повідомлення про помилку від auth.log було: "Відхилена автентифікація: неправильне володіння або режими для каталогу / home / <user>"). Я бачу, SSH правильно, щоб бути прискіпливим до дозволів домашнього режисера.
action_potato

5
Ви знали про теги вікі, які ми маємо тут? Якщо натиснути ssh, а потім learn more, ви побачите контрольний список, що робити, коли SSH не працює, і в ньому згадуються дозволи домашнього каталогу.
Жиль "ТАК - перестань бути злим"

Ах, вибачте, що про це не знав! Дякую за голову вгору
action_potato

Відповіді:


54

Це поведінка за замовчуванням для SSH. Він захищає ключі користувача шляхом застосування rwx------на $HOME/.sshі забезпечення має тільки власник дозволу на запис $HOME. Якщо інший користувач, крім відповідного власника, має дозвіл на запис у $HOMEкаталог, він може зловмисно змінювати дозволи $HOME/.ssh, потенційно захоплюючи ключі користувача known_hosts, чи щось подібне. Підводячи підсумок, наступні дозволи на $HOMEроботу SSH будуть достатніми.

  • rwx------
  • rwxr-x---
  • rwxr-xr-x

SSH не буде працювати належним чином і надсилатиме попередження до засобів журналу, якщо в каталозі є якісь зміни g+wабо o+wіснують $HOME. Однак адміністратор може змінити цю поведінку, визначивши StrictModes noу sshd_config(або подібному) файлі конфігурації, хоча має бути зрозуміло, що це не рекомендується .


1
Дякуємо за згадування StrictModes no. У моїх налаштуваннях ACL налаштовано на домашній каталог цільового користувача та всіх нащадків, щоб дозволити модифікації напівпривілейованого користувача ( u:operator:rwx), а SSH цього не сподобалось.
intelfx

31

77x у вашому домашньому каталозі означає, що всі, хто має правильний GID, можуть перемістити ваш .ssh каталог та замінити його на інший. Користувачі з правильним GID мають дозволи на запис / виконання у домашньому каталозі, тому можуть перейменовувати / створювати файли / каталоги.

SSH дуже вибагливий, коли йдеться про дозволи, і він повинен.

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