Збереження ключа SSH в домашніх умовах замість root


1

Коли я намагаюся створити ключ SSH за допомогою, sudo ssh-keygen -t rsaя отримую запит:

Enter file in which to save the key (/root/.ssh/id_rsa):

Однак я хотів би, щоб файл зберігався /home/user2/.ssh/id_rsa. Коли я входжу в цей каталог, я отримую цю помилку:

Saving key "/home/user2/.ssh/id_rsa" failed: No such file or directory

Будь-яка спроба ввести інший каталог повертає помилку.

Як я можу генерувати ключ у /home/user2/.ssh/id_rsa?

EDIT: коли я видаляю, sudoя отримую цю проблему:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hduser/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Saving key "/home/hduser/.ssh/id_rsa" failed: Not a directory

Але чи не повинен SSH створювати каталог?


Чи /home/user2/.ssh/існує каталог ?
Каміль Маціоровський

1
Чому ви це називаєте sudoв першу чергу?
gronostaj

@KamilMaciorowski Я думав, що .ssh буде створено автоматично?
steve zissou

@gronostaj Я не впевнений, я отримав це з довідника, я відредагую своє питання, щоб дати вихід, коли я не використовуюsudo
steve zissou

Відповіді:


1

Коли я намагаюся створити ключ SSH за допомогою, sudo ssh-keygen -t rsaя отримую запит:

Enter file in which to save the key (/root/.ssh/id_rsa):

За допомогою програми sudoви просите запустити програму під іншим обліковим записом , зокрема з root. Таким чином, keygen запуститься як root, створить ключ, що належить root, і, звичайно, він буде використовувати домашній каталог root для зберігання цього ключа.

Для створення файлів, що належать вам самим (і використовувати власні шляхи тощо), просто не використовуйте sudo.

І якщо не використовувати sudoприводить до дивних помилок дозволу, краще досліджуйте та виправляйте їх - вони не будуть спокійно виправляти себе, якщо ви просто sudoвсе; часто це просто погіршить.

коли я знімаю судо, я отримую цю проблему:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hduser/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Saving key "/home/hduser/.ssh/id_rsa" failed: Not a directory

Але чи не повинен SSH створювати каталог?

Це повинно. Але повідомлення про помилку насправді означає, що воно /home/hduser/.ssh вже існує - це просто щось інше, ніж каталог. Це може бути файл, зламане символьне посилання, символьне посилання на файл тощо.

Знову: досліджуйте ситуацію. Щоб побачити, що .sshнасправді є, запустіть ls -ldйого. При необхідності перейменуйте файл / посилання / елемент або повністю видаліть його.


Дякую! Це спрацювало, коли я видалив файл. btw як ls -ldмені сказати, що таке файл насправді. чи не вказує .мені назустріч назви файлу, що його прихований каталог?
steve zissou

Ні. .Перед іменем файлу тільки вам сказано, що це щось приховане , але жодним чином не означає, що це каталог. Фактичний тип елемента - це 1-й символ виводу ls -l (перед індикаторами дозволу).
grawity
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.