Найпопулярнішою утилітою для SSH-доступу до Linux-серверів в Windows є putty і хоча вона не є розробкою корпорації Microsoft, вона слід заповітам корпорації з Редмонда по створенню ні з чим не сумісних продуктів.
Дана утиліта вимагає обов'язкової конвертації стандартних OpenSSL-ключів в свій внутрішній формат своєї ж спеціалізованої утилітою. Навіщо це було зроблено незрозуміло, але тепер мені все частіше надають ключі доступу в форматі Putty (.ppk) і хоча в Linux теж є портована версія Putty вона жахливо незручна.
Linux-версія Putty повторояет все фокуси принизливого юзабіліті windows-версії включаючи вставку по кліку правої кнопкою миші. При цьому в Linux є дуже зручна консоль і штатний додаток для підключення ssh. У мене немає ні найменшого бажання користуватися монстрики putty-linux, мені набагато простіше використовувати консоль вбудовану в будь-який дистрибутив і оточення робочого столу.
Тому виникла необхідність перетворювати Putty ключі назад в формат OpenSSH. Це завдання не складна і реалізується в такий спосіб:
Встановлюємо необхідні утиліти:
# Apt-get install putty-tools
Конвертуємо ppk-файл в стандартний ssh-ключ для Linux:
# Puttygen ./source_ppk_key.ppk -O private-openssh -o desktop_access_key.pem
підключаємося:
# Ssh -i ./desktop_access_key.pem [email protected]
Так само ми можемо додати pem-файл до відомим хостам, щоб не вказувати параметр -i: