Saya baru saja memutakhirkan ke OSX 10.9, dan ketika mencoba membuat koneksi SSH dengan otentikasi kunci publik, sebuah prompt muncul meminta kata sandi kunci SSH saya.
Saya awalnya berpikir bahwa upgrade menyebabkan gantungan kunci lupa beberapa kata sandi, jadi saya memasukkan kembali milik saya. Rupanya, itu bukan penyebabnya, karena prompt terus muncul kembali.
Saya pertama kali berpikir bahwa saya mungkin menggunakan kata sandi yang salah, tetapi sementara perintah berikut:
$ 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
...tidak bekerja! Jika saya mencoba menggunakan openssl:
$ openssl rsa -in id_rsa -text
Enter pass phrase for id_rsa:
Private-Key: (2048 bit)
modulus:
00:...
kunci pribadi saya didekripsi dengan benar dan semua informasi dicetak.
Apa yang terjadi dengan peningkatan ke Mavericks? Bagaimana saya bisa mendapatkan kunci pribadi saya kembali dalam keadaan dapat digunakan?
Masalah yang sama di sini, kunci saya menunjukkan perilaku yang sama.
Saya melacak masalahnya kembali ke posting blog ini. Saya memodifikasi kunci ssh saya seperti yang dijelaskan dalam artikel ini untuk meningkatkan keamanan dan berhasil di Mountain Lion. http://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html
Saya berasumsi bahwa Apple mengubah sesuatu dengan openssh dan versi "baru" tidak mampu membaca format PKCS # 8 yang lebih baru.
Versi OpenSSH Mavericks Saya:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
Saya tidak punya Mac lain jadi saya tidak bisa membandingkannya dengan versi Mountain Lion.
sumber
/usr/bin/ssh -V
mencetakOpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
pada VM 10.8.0 saya.Menggunakan brew openssl dan openssh memperbaiki masalah PCKS # 8 di Mavericks.
Saya tidak yakin apakah memaksa menghubungkan openssl merusak apa pun di Mavricks. Sejauh ini, saya belum melihat adanya masalah.
sumber
Saya dapat memperbaiki masalah ini dengan hanya melakukan hal berikut:
Sekarang pergi dan terhubung. Ketika itu menanyakan pertanyaan standar untuk menambahkan jenis sidik jari ya.
sumber
Terjadi untuk mendapatkan masalah ini. Dengan mencoba menentukan sandi, saya bisa membuatnya bekerja dengan baik.
Di Linux, ketika Anda mencoba membuat pasangan kunci, gunakan ini:
Kunci publik sekarang dengan cipher aes256 dapat dikenali dengan benar oleh ssh pada OSX (di sini, milik saya 10.12.1).
sumber
Anda dapat mengonversi kunci Putty ke kunci OpenSSL OS X:
Ketikkan frasa sandi dan Anda selesai.
sumber