
При попытке создать пары ключей rsa для проекта внутри каталога проекта я экспериментировал с ssh-keygen
опцией -f
. Когда я тестирую его в свежесозданном каталоге, все работает как и ожидалось, но когда я пытаюсь использовать тот же самый синтаксис в другом каталоге с такими же правами доступа, он ssh-keygen
просто продолжает мне говоритьNo such file or directory.
В каком-то смысле это правильно, потому что предполагается создание этих файлов. (Каталог, в котором он будет работать, существует.)
Синтаксис, который я использую для создания ключа, следующий:
ssh-keygen -q -t rsa -f /abspath/id_rsa -N ""
решение1
Я не могу воссоздать эту проблему, если не укажу каталог, который на самом деле не существует. Я предлагаю вам посмотреть, где вы пытаетесь создать пару ключей, и убедиться, что каталог существует.
решение2
Сначала вам необходимо создать каталог для хранения файла ключа хоста:
$ mkdir -p $HOME/.ssh/mykey
Во-вторых, в зависимости от типа ключа вы можете создать файл ключа хоста в вашем $HOME/.ssh/mykey
: (выберите ОДИН)
$ ssh-keygen -t rsa -f $HOME/.ssh/mykey/rsa_key_file
или
$ ssh-keygen -t dsa -f $HOME/.ssh/mykey/dsa_key_file
или
$ ssh-keygen -t ecdsa -f $HOME/.ssh/mykey/ecdsa_key_file
или
ssh-keygen -t ed25519 -f $HOME/.ssh/mykey/ed25519_key_file
Наконец, чтобы убедиться, что ключ сгенерирован успешно:
$ ls -l $HOME/.ssh/mykey/