Відповіді:
Зробіть це за допомогою Putty.
Linux: за допомогою менеджера пакунків встановіть PuTTY (або більш мінімальні PuTTY-інструменти):
sudo apt-get install putty-tools
apt-get install putty-tools
yum install putty
emerge putty
sudo pacman -S putty
OS X: Встановіть Homebrew , а потім запустітьbrew install putty
Розмістіть ваші ключі в якомусь каталозі, наприклад у домашній папці. Тепер перетворіть ключі PPK в SSH keypairs: пошук у кеші
Щоб створити приватний ключ:
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/config
файлу Host mysite.com Hostname mysite.com IdentityFile ~/.ssh/id_dsa IdentitiesOnly yes
ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub
-i
прапор імпортується з іншого, ніж у відкритому форматі-f
прапор означає прочитане з вхідного файлуОтримайте приватний ключ:
відкрийте .ppk файл у puttygen:
puttygen ~/.ssh/id_dsa.ppk
експортувати як openssh:
Перетворення → Експорт ключа OpenSSH
Отримайте відкритий ключ:
відкрити, як перед приватним ключем із puttygen, відкритий ключ знаходиться під відкритим ключем для вставки у OpenSSH-файл дозволених_кісів
Я підготував контейнер 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
- локальний шлях до місця розміщення приватного та відкритого ключа--volume=/path/to/file.ppk:/tmp/id.ppk
а неid_dsa.ppk