Сохранение ключа 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?

РЕДАКТИРОВАТЬ: когда я удаляю, 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 будет создан автоматически?
Стив Зиссу
@gronostaj Я не уверен, я получил это из руководства, я отредактирую свой вопрос, чтобы дать вывод всякий раз, когда я не используюsudo
Стив Зиссу

Ответы:

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все это; часто это только ухудшит.

когда я удаляю 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на нем. При необходимости переименуйте файл / ссылку / элемент или полностью удалите его.

grawity
источник
Спасибо! Это сработало, когда я удалил файл. Кстати, как ls -ldмне сказать, что файл на самом деле. не .перед именем файла говорит мне, что это скрытый каталог?
Стив Зиссу
Нет . .Перед именем файла только говорит Вам , что это скрытое что - то , но не в коей мере не означает , что это каталог. Фактический тип элемента - это 1-й символ вывода ls -l (до индикаторов разрешений).
Гравитация