Właśnie zaktualizowałem system do OSX 10.9, a gdy próbuję ustanowić połączenie SSH z uwierzytelnianiem klucza publicznego, pojawia się monit z prośbą o hasło do klucza SSH.
Początkowo myślałem, że aktualizacja spowodowała, że pęku kluczy zapomniałem niektóre hasła, więc wróciłem do mojego. Najwyraźniej nie była to przyczyna, ponieważ monit pojawiał się ponownie.
Najpierw pomyślałem, że mogę używać niewłaściwego hasła, ale podczas następującego polecenia:
$ ssh-keygen -vvv -y -f id_rsa >| id_rsa.pub
debug3: Incorrect RSA1 identifier
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase:
debug3: Incorrect RSA1 identifier
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
load failed
...nie działa! Jeśli spróbuję użyć openssl:
$ openssl rsa -in id_rsa -text
Enter pass phrase for id_rsa:
Private-Key: (2048 bit)
modulus:
00:...
mój klucz prywatny jest poprawnie odszyfrowany i wszystkie informacje są drukowane.
Co się stało z uaktualnieniem do Mavericks? Jak mogę odzyskać mój klucz prywatny z powrotem do stanu użytecznego?
Ten sam problem tutaj, moje klucze wykazują takie samo zachowanie.
Śledziłem problem z powrotem do tego postu na blogu. Zmodyfikowałem moje klucze ssh w sposób opisany w tym artykule, aby zwiększyć bezpieczeństwo i działało to u Mountain Lion. http://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html
Zakładam, że Apple coś zmieniło w openssh i „nowa” wersja nie jest w stanie odczytać nowszego formatu PKCS # 8.
Moja wersja MaSSicks OpenSSH:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
Nie mam innego komputera Mac, więc nie mogę go porównać z wersją Mountain Lion.
źródło
/usr/bin/ssh -V
drukujeOpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
na mojej maszynie wirtualnej 10.8.0.Korzystanie z brew openssl i openssh rozwiązuje problem PCKS # 8 w Mavericks.
Nie jestem pewien, czy połączenie siłowe openssl psuje coś na Mavricks. Do tej pory nie zauważyłem żadnych problemów.
źródło
Byłem w stanie rozwiązać ten problem, wykonując następujące czynności:
Teraz idź i połącz się. Kiedy zadaje standardowe pytanie, aby dodać typ odcisku palca, tak.
źródło
Zdarzyło się, aby uzyskać ten problem. Próbując określić szyfr, udało mi się sprawić, by działał dobrze.
W systemie Linux, gdy próbujesz wygenerować pary kluczy, użyj tego:
Klucz publiczny z szyfrem aes256 może być poprawnie rozpoznany przez ssh w OSX (tutaj mój to 10.12.1).
źródło
Możesz przekonwertować klucz PuTTY na klucz OpenSSL OS X:
Wpisz hasło i gotowe.
źródło