Я знаю, что можно конвертировать .ppk под puttygen в Windows, но как это сделать в Linux? Это возможно ?
4 ответа
Сделай это с Putty.
Linux: с вашим менеджером пакетов установите PuTTY (или более минимальные инструменты PuTTY):
- Ubuntu
sudo apt-get install putty-tools
- Подобный Debian
apt-get install putty-tools
- RPM на основе
yum install putty
- Gentoo
emerge putty
- Archlinux
sudo pacman -S putty
- и т.п.
- Ubuntu
OS X: установите Homebrew, затем запустите
brew install putty
Поместите ваши ключи в какую-нибудь директорию, например, в вашу домашнюю папку. Теперь преобразуйте ключи PPK в пары ключей SSH: поиск в кэше
Чтобы сгенерировать закрытый ключ:
cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa
и для генерации открытого ключа:
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub
Переместите эти ключи в ~/.ssh
и убедитесь, что для вашего личного ключа установлены права доступа:
mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub
Если вы уже пытались выполнить операцию « git clone », вам может потребоваться сделать это также
chmod 666 ~/.ssh/known_hosts
ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub
- -i флаг импортируется из формата, отличного от openssh
- -f флаг означает чтение из входного файла
Источник: пост в блоге на burnz.wordpress.com
Получить закрытый ключ:
Откройте файл .ppk в puttygen:
puttygen ~/.ssh/id_dsa.ppk
экспортировать как openssh:
Конверсии → Экспорт ключа OpenSSH
Получить открытый ключ:
откройте как и ранее закрытый ключ с помощью puttygen, открытый ключ находится под открытым ключом для вставки в файл авторизованного OpenSSH_keys
Я подготовил контейнер Docker, чтобы сделать жизнь проще:
docker run --rm \
--volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
--volume=/path/to/output:/tmp/out/ \
czerasz/putty-tools
Куда:
/path/to/file.ppk
- локальный путь к вашему файлу ppk/path/to/output
- локальный путь, в который следует поместить закрытый и открытый ключи