Закрытый ключ OpenSSH SSH-2 (старый формат PEM) на виртуальной машине Azure Linux

Я использовал Puttygen для генерации пары ключей SSH для виртуальной машины Azure Linux. недавно я обнаружил, что openssh доступен в Windows 10, и я могу использовать команду «ssh-keygen» в Windows 10 CMD и генерировать закрытый и открытый ключи.

Я пробовал это, но с неудачной попыткой.

В соответствии со статьей нажмите здесь, попросите нас использовать команду ниже, и она успешно завершена. Он экспортирует закрытый и открытый ключ в локацию. Но когда я загружаю закрытый ключ в putty и подключаюсь к серверу, он выдает ошибку

Unable to use key file "C:publickeyid_rsa.ppk" (OpenSSH SSH-2 private key (old PEM format))
login as:

Ниже приведена команда, которую я использовал для генерации пар ключей в Windows 10

C:Usersxxx>ssh-keygen -t rsa -b 2048 -C "azureuser@vm"
Generating public/private rsa key pair.
Enter file in which to save the key (C:Usersxxx/.ssh/id_rsa): C:publickeyid_rsa.ppk
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:publickeyid_rsa.ppk.
Your public key has been saved in C:publickeyid_rsa.ppk.pub.
The key fingerprint is:

Кто-нибудь пробовал этот метод на Windows 10 для генерации ключей?

Всего 1 ответ


Вы использовали ssh-keygen для создания файла закрытого ключа с именем id_rsa.ppk. Однако это закрытый ключ формата OpenSSH, который необходимо преобразовать в собственный формат Putty для использования в Putty.

Ваши варианты:

  1. Используйте этот ключ с командной строкой SSH (это в правильном формате). Вы также можете
    1. укажите файл в командной строке, например, ssh -i id_rsa.ppk azureuser@vm
    2. создайте папку C:UsersAquib.ssh и переместите ее туда как C:UsersAquib.sshid_rsa (без расширения): теперь ssh будет загружать этот файл по умолчанию, чтобы использовать его для всех серверов, которые вы пытаетесь использовать. присоединиться
    3. если вы не хотите использовать это для всех серверов или, например, если у вас уже есть id_rsa по умолчанию, который вы используете с git, вы можете настроить файл C:UsersAquib.sshconfig который сообщает SSH, куда найдите ключ и скажите ему, для каких серверов он должен его использовать.
  2. Преобразуйте этот файл в правильный формат для использования с Putty:
    1. В Puttygen в меню «Конверсии» выберите «Импорт» и загрузите id_rsa.ppk
    2. «Сохранить закрытый ключ» в другой файл
    3. Используйте этот новый файл с Putty, либо в меню свойств соединения, либо запустите Pageant (агент ключа Putty) и «Добавить ключ» нового файла. (Например, вы можете создать ярлык для страницы в вашем меню «Пуск» и дать ему имя файла ключа в качестве параметра командной строки, чтобы он автоматически загружался для вас.)

Есть идеи?

10000