Odkryłem, że ssh-keygen
(pakiet „ssh”) produkuje różne klucze z puttygen
(pakiet „putty”).
Jeśli utworzę klucze publiczne i prywatne z ssh-keygen
niektórymi serwerami ssh, nie zaakceptuję moich kluczy. Jeśli utworzę klucze z puttygen
tylko jednym serwerem, zaakceptuje to.
Dlaczego repozytoria linuksowe nie proponują jakiegoś wspólnego rozwiązania (pakietu)? Znalazłem inny pakiet ssh-3.2.9.1, który tworzy klucze działające z kitem. Ale dlaczego nie ma przydatnego rozwiązania w SSH?
Odpowiedzi:
OpenSSH jest de facto standardową implementacją protokołu SSH. Jeśli PuTTY i OpenSSH różnią się, to PuTTY jest tym, który jest niezgodny.
Jeśli wygenerujesz klucz za pomocą OpenSSH przy użyciu
ssh-keygen
domyślnych opcji, będzie on działać z praktycznie każdym serwerem. Serwer, który nie akceptuje takiego klucza, byłby zabytkowy, wykorzystywałby inną implementację SSH lub skonfigurowany w dziwny, restrykcyjny sposób. Klucze innego typu niż domyślne mogą nie być obsługiwane na niektórych serwerach, w szczególności klucze ECDSA sprawiają, że ustanawianie sesji jest nieco szybsze, ale są obsługiwane tylko przez najnowsze wersje OpenSSH.PuTTY używa innego formatu pliku klucza. Zawiera narzędzia do konwersji między własnym
.ppk
formatem a formatem OpenSSH.Ten ssh-3.2.9.1, który znalazłeś, jest produktem komercyjnym, który ma swój własny inny format klucza prywatnego. Nie ma powodu, aby używać go zamiast OpenSSH, może być tylko mniej kompatybilny, wymaga płacenia i jest około zero samouczka, jak go używać.
źródło
Większość dystrybucji Linuksa jest
putty
dostępna dla Linuksa. Możesz zainstalowaćputty
po stronie Linuksa i użyćputtygen
do konwersji plików .ppk do zwykłych plików kluczy w stylu ssh (zwanych plikami PEM - nawet jeśli nie mają nazwy .pem w nazwie pliku).UWAGA: Możesz także użyć
puttygen
do importowania plików PEM w stylu ssh z powrotem doputty
.Autor PuTTY zdecydował się na prostotę, aby klucze publiczne i prywatne, które składają się na podstawowe zabezpieczenia używane przez uwierzytelnianie za pomocą klucza putty / ssh 2, były przechowywane w jednym zastrzeżonym pliku .ppk. Zazwyczaj klucze te są obsługiwane przez ssh jako 2 oddzielne pliki.
W systemie Linux pliki kluczy są zwykle przechowywane w katalogu .ssh.
W tym pytaniu dotyczącym przepełnienia stosu znajduje się dobry przegląd procesu konwersji: Konwertuj PEM na format pliku PPK .
Autor putty również omawia swoje uzasadnienie wykorzystania plików .ppk w
putty
podręczniku użytkownika . Możesz przeczytać o tym tutaj w sekcji 8.2.12.źródło
uname -a
. Linux distro:lsb_release -a
.Oba przechowują „parę kluczy RSA dla wersji 2 protokołu SSH” i można je zamieniać zamiennie; jednak w odniesieniu do faktycznej przechowywanej różnicy formatu:
z https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats-native.html
[ podkreślenie dodane]
źródło