
У меня есть файл name.ppk. Я хочу войти по ssh с файлом .ppk в Ubuntu Terminal.
Я попробовал этот постВойдите по SSH с помощью файла .ppk в терминале Ubuntuно получаю эту ошибку«puttygen: ошибка загрузки `name.ppk': формат ключа PuTTY слишком новый»при использовании этой командной строки"puttygen имя.ppk -O private-openssh -o имя.pem"
Версия Puttygen: 0.73
Версия Ubuntu: 20.04
решение1
Чтобы преобразовать новый файл v3 ppk в pem, вам нужно использовать puttygen 0.75 или более новую версию. На момент написания этой статьи v0.73 является последней версией, которую вы можете получить с помощью apt, но вы можете загрузить и собрать новейшую версию puttygen из исходного кода.
Этот ответ на SuperUserобъясняет, как это сделать, например, для v0.76:
- Если установлен putty, удалите его.
sudo apt remove putty-tools
- Загрузите исходный код unix версии putty 0.76
mkdir putty_source_code
cd putty_source_code
wget https://the.earth.li/~sgtatham/putty/0.76/putty-0.76.tar.gz
- Извлечь код unix
tar -xvf putty-0.76.tar.gz
cd putty-0.76
- Скомпилируйте код unix
./configure
make
sudo cp puttygen /usr/bin/
- Проверьте, правильно ли установлена версия.
puttygen --version # Should output something similar to `puttygen: Release 0.76`
- Удалите загруженный исходный код, он вам больше не нужен, так как вы установили его в /usr/bin
cd ../..
rm -rf putty_source_code
7. Change to the directory with the .ppk file
cd <dir_with_ppk_key> puttygen <ppk_key_name.ppk> -O private-openssh -o pem_generated_file.pem
Теперь у вас должен быть преобразованный ключ в каталоге.
У меня была та же проблема, которую вы описали, и использование шагов выше помогло мне. Надеюсь, они помогут и вам.
решение2
Если исходный ключ был создан с помощью более новой версии PuTTY, то вы не сможете использовать PuTTYgen 0.73. Это потому, чтоновый формат PPK используется с версии 0.75.
Вам потребуется использовать более новую версию PuTTYgen или ssh-keygen
создать пару открытого и закрытого ключей.