Odpowiedzi:
Zrób to z Putty.
Linux: za pomocą menedżera pakietów zainstaluj PuTTY (lub bardziej minimalne narzędzia PuTTY):
sudo apt-get install putty-tools
apt-get install putty-tools
yum install putty
emerge putty
sudo pacman -S putty
OS X: Zainstaluj Homebrew , a następnie uruchombrew install putty
Umieść klucze w jakimś katalogu, np. W folderze domowym. Teraz przekonwertuj klucze PPK na pary kluczy SSH: wyszukiwanie pamięci podręcznej
Aby wygenerować klucz prywatny :
cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa
i aby wygenerować klucz publiczny :
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub
Przenieś te klucze do ~/.ssh
i upewnij się, że uprawnienia są ustawione na prywatny dla twojego klucza prywatnego:
mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub
Jeśli już próbowałeś wykonać operację „ klonowania git ”, być może będziesz musiał to zrobić
chmod 666 ~/.ssh/known_hosts
./ssh/config
pliku 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
Flaga jest importowana z formatu innego niż openssh-f
Flaga oznacza odczyt z pliku wejściowegoŹródło: a blogpost na burnz.wordpress.com
Uzyskaj klucz prywatny:
otwórz plik .ppk w puttygen:
puttygen ~/.ssh/id_dsa.ppk
eksportuj jako openssh:
Konwersje → Eksportuj klucz OpenSSH
Uzyskaj klucz publiczny:
otwarty jak przed kluczem prywatnym z puttygen, klucz publiczny znajduje się pod kluczem publicznym do wklejenia do pliku autoryzowanych kluczy OpenSSH
Przygotowałem pojemnik Docker, aby ułatwić życie:
docker run --rm \
--volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
--volume=/path/to/output:/tmp/out/ \
czerasz/putty-tools
Gdzie:
/path/to/file.ppk
- lokalna ścieżka do pliku ppk/path/to/output
- lokalna ścieżka do miejsca, w którym należy umieścić klucz prywatny i publiczny--volume=/path/to/file.ppk:/tmp/id.ppk
i nieid_dsa.ppk