Когда я пытаюсь создать ключ 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 не должен создавать каталог?
ssh
user-accounts
root
editing
Стив Зиссу
источник
источник
/home/user2/.ssh/
существует?sudo
в первую очередь?sudo
Ответы:
При использовании
sudo
вы просите запустить программу под другой учетной записью , в частности с правами root. Таким образом, keygen будет работать как root, создаст ключ, принадлежащий root, и, конечно, будет использовать домашний каталог root для хранения этого ключа.Для создания файлов, принадлежащих вам (и использовать ваши собственные пути и т. Д.), Просто не используйте
sudo
.И если не использовать
sudo
приводит к странным ошибкам разрешения, лучше исследуйте и исправьте их - они не будут спокойно исправлять себя, если вы простоsudo
все это; часто это только ухудшит.Должно. Но на самом деле сообщение об ошибке означает, что оно
/home/hduser/.ssh
уже существует - это просто что-то еще, кроме каталога. Это может быть файл, битая символическая ссылка, символическая ссылка на файл и т. Д.Еще раз: исследуйте ситуацию. Чтобы увидеть, что на
.ssh
самом деле, бегиls -ld
на нем. При необходимости переименуйте файл / ссылку / элемент или полностью удалите его.источник
ls -ld
мне сказать, что файл на самом деле. не.
перед именем файла говорит мне, что это скрытый каталог?.
Перед именем файла только говорит Вам , что это скрытое что - то , но не в коей мере не означает , что это каталог. Фактический тип элемента - это 1-й символ вывода ls -l (до индикаторов разрешений).