Дозволу 0777 для 'id_key' занадто відкриті


11

Я зберігаю файл приватного ключа SSH на окремому накопичувачі USB (зашифрований), але коли я намагаюся використовувати його для підключення до віддаленого хоста, я отримую помилку:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/Volumes/USB/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Volumes/USB/id_rsa
Permission denied (publickey).

Я спробував змінити дозволи на ключ-файл (chmod 600 id_rsa), але він все ще виглядає як 777 (зміна не набирає чинності). Це на Mac OS X.

Будь-яка ідея, як це виправити?

Відповіді:


7

Який тип файлової системи у вас на USB-накопичувачі? Якщо це одна з файлових систем FAT, FAT8, FAT16, VFAT, FAT32, то вам, мабуть, не пощастило, оскільки у них немає полів для зберігання бітів дозволу в стилі Unix. (Драйвер файлової системи UMSDOS для Linux зламає це, але я сумніваюся, що в OS X є все, що хакі доступне. :)

Якщо це NTFS або NTFS2, то, можливо, може бути зроблене якесь відображення, але я б на це не розраховував.

Якщо це HFS + або UFS, то, безумовно, потрібно більше деталей, тому що це повинно працювати так, як ви описали, але символьні посилання можуть заважати.


4
Чи все-таки потрібно сказати SSH просто ігнорувати проблему дозволів? Або це важко закодовано в це?
Хенджі

5

Це проблема з дозволом на Mac. Файлова система HFS +, тому перший коментар на сьогоднішній день є неправильним. Дозвіл є основним фундаментом * nix OS, тому було б вам зрозуміти.

$ chmod 600 /Volumes/USB/id_rsa

Отримав ключ від Windows. Це вирішило мою проблему в Linux.
aloisdg переходить на codidact.com

0

Ваша флешка, ймовірно, попередньо відформатована на FAT32, яка не підтримує дозволи в стилі Unix. Переформатуйте свою флешку в кращу файлову систему (HFS + приходить на думку, оскільки ви перебуваєте на Mac).



0

У мене були ті ж самі проблеми, що я робив так, щоб вирішити свою проблему.

ось рішення:

Рішення: Додайте правильний ключ хоста в /home/user/.ssh/known_hosts

Не потрібно видаляти весь відомий файл_hosts, лише рядок у цьому файлі. Наприклад, якщо у вас є 3 сервера наступним чином.

myserver1.com,64.2.5.111 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA11FV0EnGahT2EK8qElocjuHTsu1jaCfxkyIgBTlxlrOIRchb2pw8IzJLOs2bcuYYfa8nSXGEcWyaFD1ifUjfHelj94AAAAB3NzaC1yc2EAAAABIwAAAIEA11FV0E
nGahT2EK8qElocjuHTsu1jaCfxkyIgBTlxlrOIRchb2pw8IzJLOs2bcuYYfa8nSXGEcWyaFD1ifUjfHelj94H+uv304/ZDz6xZb9ZWsdm+264qReImZzruAKxnwTo4dcHkgKXKHeefnBKyEvvp/2ExMV9WT5DVe1viVwk=
myserver2.com,125.1.12.5 ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAtDiERucsZzJGx/1kUNIOYhJbczbZHN2Z1gCnTjvO/0mO2R6KiQUP4hOdLppIUc9GNvlp1kGc3w7B9tREH6kghXFiBjrIn6VzUO4uwrnsMbnAnscD5EktgI7fG4ZcNUP 5+J7sa3o+rtmOuiFxCA690DXUJ8nX8yDHaJfzMUTKTGxQz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/IyI4NxHhhpltYZKW/Qz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/M7L0vKeTObue1SgAsXADtK3162a/Z6MGnAazIviHBldxtGrFwvEnk82+GznkO3IBZt5vOK2heBnqQBfw=
myserver3.com,125.2.1.15 ssh-rsa 
5+J7sa3o+rtmOuiFxCA690DXUJ8nX8yDHaJfzMUTKTGx0lVkphVsvYD5hJzm0eKHv+oUXRT9v+QMIL+um/IyI4NxHhhpltYZKW
as3533dka//sd33433////44632Z6MGnAazIviHBldxtGrFwvEnk82/Qz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/M7L0vKeTObue1SgAsXADtK3162a/Z6MGnAazIviHBldxtGrFwvEnk82+GznkO3IBZt5vOK2heBnqQBfw==

Щоб видалити другий сервер (myserver.com), відкрийте файл:

# vi +2 .ssh/known_hosts

І натисніть команду dd, щоб видалити рядок. Збережіть і закрийте файл. Або скористайтеся наступним

$ vi ~/.ssh/known_hosts

Тепер перейдіть до рядка №2, введіть таку команду

:2

Тепер видаліть рядок з dd та вийдіть:

dd
:wq

Перегляньте цей повний відео-посібник на основі вашої проблеми:

Помилка зміни ключа хоста SSH

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