Skonfigurowałem mój serwer Linux, aby akceptował połączenia z mojego domowego komputera, dodając do authorized_keys
pliku klucz publiczny wygenerowany przez PuTTYgen .
Teraz próbuję połączyć się z tym samym komputerem, ale tym razem z innego komputera z systemem Ubuntu. Muszę użyć tego samego klucza prywatnego (z dziwnego powodu, nie pytaj ...) i nie bardzo rozumiem, jak zainstalować go na moim kliencie Ubuntu.
Czy muszę przekonwertować go na inny format?
id_rsa
plik (poprzez konwersję klucza w PuTTYgen)Zbiegiem okoliczności po prostu musiałem to zrobić. Musisz przekonwertować klucze do formatu OpenSSH. Polecenie to:
następnie możesz skopiować zawartość
openssh_key
do.ssh/authorized_keys
tak, jak w przypadku zwykłego klucza SSH.Ta
-i
opcja mówissh-keygen
o konwersji. Ta-f
opcja informuje, gdzie znaleźć klucz do konwersji.Działa to w przypadku niezaszyfrowanych kluczy. Klucz publiczny jest niezaszyfrowany, ale prywatny prawdopodobnie jest zaszyfrowany. Nie jestem pewien, czy istnieje sposób na odszyfrowanie klucza prywatnego, jego konwersję, a następnie ponowne zaszyfrowanie. Może być łatwiej używać nowych kluczy, jak sugeruje druga odpowiedź (i zaleciłbym użycie,
ssh-agent
chociaż jest to ortogonalne w stosunku do bieżącego problemu).źródło
uudecode failed
), należy wykonać następujące kroki Jak przekonwertować pary kluczy SSH wygenerowane za pomocą PuttyGen (Windows) na pary kluczy używane przez ssh-agent i KeyChain (Linux)puttygen_key
powinien być Twoim kluczem publicznym, a nie kluczem prywatnym (* .ppk).Andrew Stacey wyjaśnił, jak przekonwertować klucze do formatu OpenSSH w systemie Linux.
Jeśli chcesz zrobić to samo w systemie Windows, wykonaj następujące kroki:
źródło
Jak ponownie użyć par kluczy Putty w systemie Ubuntu jako kluczy OpenSSH:
Ponieważ celem kroku 4 jest dodanie twojego klucza publicznego do * ~. / Ssh / Author_keys *, więc możesz użyć swojego tajnego klucza Putty w ten sposób zamiast robić 4 jako krok pośredni:
źródło
mykey-pub.ppk
jest dość mylące, ponieważ.ppk
plik ma zupełnie inny format i jest używany do par kluczy (nie tylko klucza publicznego).puttygen: unknown output type `private‐openssh'
aputtygen: cannot handle more than one input file
więc skopiowałem dokładnie znaków z kodu źródłowego i przemianowany na mój klucz publiczny do czegoś zupełnie innegoPuTTY / PuTTYgen używa własnego zastrzeżonego formatu pary kluczy. Nie działa w systemie Linux, w którym dominuje format kluczy OpenSSH.
W PuTTYgen możesz bezpośrednio zobaczyć (i skopiować + wkleić) klucz publiczny w formacie używanym przez
authorized_keys
plik OpenSSH .Możesz użyć przycisku Zapisz klucz publiczny, aby zapisać klucz publiczny w
.pub
formacie (RFC 4716). W systemie Linux plik zwykle ma nazwęid_rsa.pub
(lubid_dsa.pub
). Ale to zwykle nie jest potrzebne.Użyj Konwersje> Eksportuj klucz OpenSSH, aby wyeksportować klucz prywatny w formacie OpenSSH. W systemie Linux plik ma zwykle nazwę
id_rsa
(lubid_dsa
) i jest przechowywany w.ssh
folderze.Zobacz oficjalny Korzystanie z PuTTYgen, generatora kluczy PuTTY .
Do konwersji można również użyć Linuksowej wersji PuTTYgen. Wersja systemu Linux jest wierszem poleceń, w przeciwieństwie do wersji systemu Windows.
Zobacz
puttygen
stronę podręcznika systemu Linux .źródło
Znalazłem jeszcze jedno jasne rozwiązanie.
Po
puttygen
utworzeniu klucza przejdź do górnego menu - Konwersja i kliknij eksportuj klucz opensshZawartość pliku zaczyna się i kończy
dla użytkownika root Skopiuj ten plik klucza
/root/.ssh/
jakoid_rsa
lubid_dsa
dla innego użytkownika Skopiuj ten plik klucza
/home/user/.ssh/
jakoid_rsa
lubid_dsa
Uwaga :
authorized_keys
.źródło
* * Zachowaj ostrożność i upewnij się, że masz dostęp do konsoli przez konsolę, ponieważ jeśli nie zrobisz tego poprawnie, nie będziesz w stanie ponownie zalogować się do ssh, dopóki nie naprawisz go z konsoli.
Proces jest znacznie łatwiejszy niż myślisz. Załaduj ponownie parę kluczy publiczny / prywatny wygenerowaną w puttygen. W puttygen na środku ekranu zobaczysz okno z napisem: „Klucz publiczny do wklejenia do pliku Open SSH autoryzowanego_kluczy:”.
podświetl całą zawartość skrzynki i naciśnij control-c, aby ją skopiować.
SSH w polu linux i wklej go do pliku „/home/username/.ssh/authorized_keys”. Wolę używać nano i wystarczy kliknąć prawym przyciskiem myszy, aby go wkleić. Upewnij się, że wszystko pozostaje w jednej linii.
Zmodyfikuj plik / etc / sshd_config w razie potrzeby i zrestartuj usługę sshd: „service ssh restart”
Jeśli potrzebujesz przykładowego pliku sshd_config, daj mi znać, a ja mogę wysłać mój.
Zrobiłem to na serwerze LTS Ubuntu 8.04, 10.04 i 12.04 i działa to płynnie.
źródło
Nie jestem pewien, czy ten wątek jest nadal aktywny, ale natknąłem się na podobny problem z rocznicową edycją systemu Windows 10, która teraz obsługuje jądro Ubuntu. Używam wcześniej Putty do łączenia się z maszyną z systemem Linux. Aby wygenerować id_rsa w formacie linux, użyj puttykeygen i załaduj swój prywatny klucz putty, a następnie kliknij konwersję i wybierz drugą opcję.
Konwersje Putty KeyGenerator
otwórz nowo wygenerowany plik klucza i skopiuj całą jego zawartość, upewnij się, że treść zaczyna się od: ----- ROZPOCZNIJ KLUCZ PRYWATNY RSA ----- i kończy się na ----- KONIEC KLUCZ PRYWATNY RSA -----
vi id_rsa w katalogu ~ / .ssh i wklej skopiowaną zawartość, jest to wymagane, ponieważ linux inaczej nie zrozumie zawartości pliku.
To wszystko, spróbuj ssh na zdalnym serwerze, powinien działać.
źródło