Я пытался генерировать новую пару ключей SSH
jacob@mystuff:~$ ssh-keygen -t rsa -C "GitLab" -b 4096
jacob@mystuff:~$ ls -la
total 32
drwxr-xr-x 3 jacob jacob 4096 Feb 18 00:09 .
drwxr-xr-x 4 root root 4096 Feb 18 00:05 ..
-rw------- 1 jacob jacob 3326 Feb 18 00:09 ??
-rw-r--r-- 1 jacob jacob 220 Feb 18 00:05 .bash_logout
-rw-r--r-- 1 jacob jacob 3771 Feb 18 00:05 .bashrc
-rw-r--r-- 1 jacob jacob 655 Feb 18 00:05 .profile
-rw-r--r-- 1 jacob jacob 732 Feb 18 00:09 ??.pub
drwxrwxr-x 2 jacob jacob 4096 Feb 18 00:08 .ssh
jacob@mystuff:~$ cat ~/.ssh/id_rsa.pub
cat: /home/jacob/.ssh/id_rsa.pub: No such file or directory
ls
только распечатывает вопросительные знаки, там на самом деле не будучи метками вопросов в том пятне на имя файла, если переключатель -q
или эквивалентный длинный переключатель --hide-control-chars
установлены. Который это не. Это означает, что у Вас есть файл, который буквально называют ??
.
гипотеза steeldriver, вероятно, корректна: Вы заявили ??
как название ключа, когда ssh-keygen
работал.
Это довольно очевидно, потому что ssh-keygen
был выполнен прямо, прежде ls
и при успешном выполнении это создает файл, содержащий закрытый ключ (возможно зашифрованный) (чье имя можно выбрать), и файл, содержащий открытый ключ, который запускается с названия файла, содержащего закрытый ключ, но имеет .pub
в конце. Существует файл, названный ??
, и каждый звонил ??.pub
, таким образом, это имеет смысл.
Как со всеми другими вещами со значением по умолчанию Вас попросили заявить, Вы, возможно, просто нажали Входят для принятия значения по умолчанию для местоположений файлов ключей.
Для изменения имени файла и местоположения к тому ключа по умолчанию выполните эти команды:
mkdir -p ~/.ssh
mv ~/?? ~/.ssh/id_rsa
mv ~/??.pub ~/.ssh/id_rsa.pub
первый создает папку .ssh
в Вашем корневом каталоге, если это уже не существует, второй перемещает Ваш закрытый ключ в него, и третий перемещает Ваш открытый ключ в него.