Как использовать ppk-ключ под Mac и Linux из Putty
Простой способ сконвертировать свои приватные ключи, созданные в Putty под Windows, чтобы пользоваться ими под Mac и Linux без перенастройки удаленных серверов

Устанавливаем putty на Mac (или Linux)
Под MacOS самый удобный способ установить putty (и все сопутствующие ему приложения вроде puttygen) через Homebrew:
brew install putty
Теперь нам доступна утилита puttygen.
Конвертируем ключи
Например, приватный ключ называется stena.ppk, поэтому я пишу в консоли:
puttygen stena.ppk -O private-openssh -o ~/.ssh/stena
Тем самым говорю утилите:
- возьми мой приватный ключ в формате
ppk, - конвертируй его в приватный ключ в формате
OpenSSH - и положи в папку
.sshв домашнем каталоге текущего пользователя под именемstena.
Не уходя далеко, из того же самого приватного ключа делаем публичный (на всякий случай):
puttygen stena.ppk -O public-openssh -o ~/.ssh/stena.pub
Аналогично, просим утилиту:
- возьми мой приватный ключ в формате
ppk, - конвертируй его в публичный ключ в формате
OpenSSH - и положи в папку
.shhпод именемstena.pub.
Обновляем права доступа к файлам ключей
На только что созданные ключи терминальный ssh начал ругаться, что их права доступа «слишком открыты (too open)». Пришлось изменить права к файлам вот такими командами:
cd ~/.ssh
chmod 0600 stena stena.pub
Что означает — я перехожу в директорию с ключами и устанавливаю возможность читать и писать в эти файлы только владельцу, то есть мне.
Подключаемся по ssh к удаленному серверу с новым ключом
Для подключения к серверу пишем в терминале:
ssh -i ~/.ssh/stena pavlov@10.152.2.60
Соответственно, показываю ssh-клиенту, где лежит новый приватный ключ, ну, и имя пользователя с адресом сервера.
Публичный ключ, кстати, на удаленном сервере обновлять не нужно. Их форматы отличаются не настолько, чтобы из-за этого возникла несовместимость.


Слева публичный ключ, сгенерированный Putty, а справа — сконвертированный в OpenSSH. Отличаются они переносами строк в теле ключа и оформлением начальных и конечных меток. Удаленный сервер на Ubuntu считает их идентичными
Замечательно, что есть версия putty для Mac и Linux. С помощью этой утилиты можно сэкономить кучу времени, особенно, если ваши публичные ключи разложены по большому количеству серверов. Меньше головной боли для админов. Здоровья им.