Apakah ada cara mudah untuk memverifikasi bahwa kunci privat yang diberikan cocok dengan kunci publik yang diberikan? Saya punya beberapa * .pub, dan beberapa * .key file, dan saya perlu memeriksa yang mana.
Sekali lagi, ini adalah file pub / key, DSA.
Saya benar-benar lebih suka satu-liner semacam ...
encryption
ssl
openssl
key
Loki
sumber
sumber
id_rsa.pub.blahhost
file dan saya tidak tahu mana yang cocok denganid_rsa
kunci pribadi tunggal & saya sedang mengatur scp tanpa kata sandi sehingga saya dapat bermigrasi dari situs web lama. Membuat pasangan kunci baru bukanlah suatu opsi; Saya sudah mengatur kunci saya dengan baik dan tidak akan mengacaukannya.Saya selalu membandingkan hash MD5 dari modulus menggunakan perintah ini:
Jika hash cocok, maka kedua file tersebut berjalan bersamaan.
sumber
Untuk kunci DSA, gunakan
untuk mencetak kunci publik, lalu
untuk menampilkan kunci publik yang terkait dengan kunci pribadi, lalu bandingkan.
sumber
Dengan asumsi Anda memiliki kunci publik di dalam sertifikat x.509, dan dengan asumsi mereka adalah kunci RSA, maka untuk setiap kunci publik, lakukan
Untuk setiap kunci pribadi, lakukan
Kemudian cocokkan kunci dengan modulus.
sumber
Pemeriksaan dapat dipermudah dengan diff:
Satu-satunya hal yang aneh adalah bahwa diff tidak mengatakan apa-apa jika file-nya sama, jadi Anda hanya akan diberi tahu jika publik dan pribadi tidak cocok.
sumber
diff -s
diff -qs
mengembalikan sederhana "yang identik / tidak identik jawaban (2) Anda harus menghapus komentar di file kunci publik sebelum menjalankan diff..Hapus kunci publik dan buat yang baru dari kunci pribadi. Simpan di direktori yang berbeda, atau gunakan konvensi penamaan untuk membuatnya tetap lurus.
sumber
Masukkan perintah berikut untuk memeriksa apakah kunci pribadi dan kunci publik adalah himpunan yang cocok (identik) atau bukan yang cocok (berbeda) dalam direktori $ USER / .ssh. Perintah cut mencegah komentar pada akhir baris di kunci publik untuk dibandingkan, hanya memungkinkan kunci untuk dibandingkan.
Output akan terlihat seperti salah satu dari baris ini.
Saya menulis skrip shell yang digunakan pengguna untuk memeriksa izin file dari file ~ / .ssh / mereka dan set kunci yang cocok. Ini memecahkan tantangan saya dengan insiden pengguna mengatur ssh. Ini dapat membantu Anda. https://github.com/BradleyA/docker-security-infrastructure/tree/master/ssh
Catatan: Jawaban saya sebelumnya (pada Maret 2018) tidak lagi berfungsi dengan rilis openssh terbaru. Jawaban sebelumnya: diff -qs <(ssh-keygen -yf ~ / .ssh / id_rsa) <(cut -d '' -f 1,2 ~ / .ssh / id_rsa.pub)
sumber
Jika Anda berada di Windows dan ingin menggunakan GUI, dengan puttygen Anda dapat mengimpor kunci pribadi Anda ke dalamnya:
Setelah diimpor, Anda dapat menyimpan kunci publiknya dan membandingkannya dengan milik Anda.
sumber
Enkripsi sesuatu dengan kunci publik, dan lihat kunci pribadi mana yang mendekripsi.
Ini artikel proyek kode oleh tak lain dari Jeff Atwood mengimplementasikan pembungkus disederhanakan sekitar kelas NET kripto. Dengan asumsi kunci ini dibuat untuk digunakan dengan RSA, gunakan kelas asimetris dengan kunci publik Anda untuk mengenkripsi, dan sama dengan kunci pribadi Anda untuk mendekripsi.
sumber
Jika tidak mengembalikan apa pun, maka mereka cocok:
sumber
Cukup gunakan puttygen dan muat kunci pribadi Anda ke dalamnya. Menawarkan berbagai opsi, misalnya mengekspor kunci publik yang sesuai.
sumber