Для OpenSSH 7.8 вы должны обмануть его.Запустите ssh-keygen -p [-f file] -m pem
, чтобы изменить парольную фразу, но повторно использовать старую.Используйте -P oldpw -N newpw
, если вы хотите избежать запросов, как в сценарии, но будьте осторожны, чтобы сделать вашу парольную фразу видимой для других пользователей.В качестве побочного эффекта это переписывает ключевой файл (если не ed25519) в «старом» (OpenSSL-совместимом и, следовательно, парамико-совместимом) формате.(Если вы хотите сохранить файл в новом формате, скопируйте сначала.)
Для более старых версий OpenSSH просто выполните ssh-keygen -p [-f file]
БЕЗ -o
.
Также, если у вас есть (или вы получаете), утилита puttygen в пакете PuTTY от 0.69 и выше поддерживает этот формат.В версии Unix просто сделайте puttygen newfmtfile -O private-openssh -o oldfmtfile
(опять же исключая ed25519).В версии AFAICT для Windows вы должны использовать графический интерфейс;загрузить новыйfmtfile и выполнить Преобразования / Экспорт OpenSSH ключ.