Bagaimana cara mengetahui apakah kunci SSH publik memiliki frasa sandi

13

Ini mungkin pertanyaan noob, tetapi bagaimana saya bisa menentukan apakah kunci publik SSH seseorang memberi saya memiliki frasa sandi atau tidak?

Kami memiliki situasi di mana saya tidak membuat kunci SSH untuk pengguna, tetapi saya ingin memastikan bahwa setiap kunci SSH yang saya letakkan di server memiliki kata sandi, tapi saya merasa frasa sandi hanya bagian dari kunci pribadi.

Terima kasih!

Peter Sankauskas
sumber

Jawaban:

27

Ini bukan sesuatu yang bisa Anda tentukan dari setengah kunci publik. Bahkan jika Anda bisa menentukannya, apa yang harus menghentikan pengguna untuk kemudian menghapusnya?

Saat Anda menghapus frasa sandi dari sisi pribadi kunci, sisi publik tidak berubah.

James F
sumber
7

Anda tidak dapat mengetahui apakah kunci pribadi memiliki frasa sandi atau tidak.

James
sumber
3
Lebih tepatnya, kunci publik tidak memiliki frasa sandi. Hanya kunci pribadi yang melakukannya.
Swoogan
-2

Saya pikir frasa sandi adalah enkripsi sinkron dari kunci pribadi sehingga tidak akan mempengaruhi kunci publik. Secara teknis itu tidak mempengaruhi salah satu kunci, karena hanya mengenkripsi data kunci pribadi.

Jika Anda memiliki kebijakan tentang memerlukan frasa sandi, Anda mungkin juga ingin membuat kebijakan tentang ssh-agent dan penerusan agen karena ini menyimpan soket yang digunakan untuk mengakses proses ssh-agent di / tmp tanpa banyak keamanan di luar izin file unix untuk melindungi Itu.

James
sumber
Saya tidak percaya kunci disimpan tidak terenkripsi di / tmp. Saya percaya itu disimpan dalam memori pada mesin asli pengguna memasuki fase.
James
Maaf, Anda benar, kunci tidak terenkripsi tidak disimpan di / tmp. Soket ssh-agent disimpan di / tmp dan siapa pun yang memiliki izin unix untuk mengakses soket tersebut dapat menggunakan kunci yang dimiliki ssh-agent untuk Anda. Masih merupakan masalah keamanan yang cukup besar.
James