Спустя полгода после переезда под MacOS мне понадобилось залогиниться на один Ubuntu-сервер, доступ к которому у меня был по ключу, сгенерированному в puttygen
под Windows.
Достучатся до админа сервера не получилось, а переконфигурировать сервер надо было быстро. После пары минут в поисковике я нашел способ конвертировать ключи ppk, созданные putty
под Windows, в ключи формата OpenSSH, которые понимают ssh-клиенты под Mac и Linux.
Устанавливаем putty на Mac (или Linux)
Под MacOS самый удобный способ установить putty (и все сопутствующие ему приложения вроде puttygen) через Homebrew:
$ brew install putty
Теперь нам доступна утилита puttygen
.
Под Linux все это тоже работает, там просто пишете:
sudo apt install
… ну, вы знаете.
Конвертируем ключи
Мой приватный ключ называется 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 [email protected]
Соответственно, показываю ssh-клиенту, где лежит новый приватный ключ, ну, и имя пользователя с адресом сервера.
Публичный ключ, кстати, на удаленном сервере обновлять не нужно. Их форматы отличаются не настолько, чтобы из-за этого возникла несовместимость.


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