Saat ini saya bekerja jarak jauh untuk sejumlah organisasi yang membutuhkan saya untuk mengakses server mereka secara teratur untuk pemeliharaan dan peningkatan. Apakah saya aman untuk menambahkan kunci SSH publik RSA saya ke .ssh/authorized_keys
file untuk memungkinkan saya untuk login lebih cepat / tanpa harus mencari kata sandi? Saya beroperasi dengan anggapan bahwa tidak mungkin menghasilkan kunci privat dari kunci publik, tetapi apakah saya benar dalam asumsi saya?
Melangkah lebih jauh, apakah akan ada risiko keamanan apa pun dalam memposting konten kunci publik RSA saya ke internet? Saya tahu bahwa jika kunci pribadi saya diperoleh, saya dalam banyak masalah, tetapi selain itu, apakah ada ancaman keamanan nyata yang mungkin?
ssh
security
key-authentication
Naftuli Kay
sumber
sumber
Jawaban:
Ya, tidak mungkin memulihkan kunci pribadi dari kunci publik. Jika mungkin, RSA akan rusak secara fundamental, dan ini akan menjadi berita besar (melanggar RSA tidak hanya akan merusak banyak keamanan komunikasi Internet, tetapi juga memungkinkan semua jenis penipuan perbankan, antara lain).
Masuk dengan kunci publik alih-alih kata sandi sebenarnya cenderung meningkatkan keamanan. Jika kata sandi Anda tidak cukup kuat, itu bisa dipaksakan oleh penyerang dengan bandwidth yang cukup. Jika penyerang tidak memiliki salinan file kunci pribadi Anda, kunci RSA secara efektif tidak dapat dipaksakan (kunci 1024-bit setara dengan sesuatu seperti kata sandi 160 karakter yang terbuat dari huruf dan digit peka huruf besar-kecil) . Seseorang yang mengawasi bahu Anda mungkin dapat melihat kata sandi dan frasa sandi kunci Anda, tetapi dengan kunci mereka juga perlu mendapatkan kunci.
Kunci pribadi tidak selalu lebih aman daripada kata sandi. Jika penyerang memperoleh salinan file kunci pribadi Anda (misalnya dengan mencuri laptop atau media cadangan Anda), ia dapat mencoba untuk memaksa paksa frasa sandi, dan ia dapat melakukannya dengan kecepatan tinggi karena Anda tidak memiliki cara untuk membatasi rate (tidak seperti tebak kata sandi yang perlu dibuat online). Jika frasa sandi Anda cukup baik dan Anda melihat pencurian dengan segera, Anda masih punya waktu untuk mencabut kunci.
Kunci publik memperkenalkan elemen paparan privasi: jika seseorang tahu bahwa Anda telah menggunakan kunci publik yang sama untuk masuk ke A dan masuk ke B, mereka tahu orang yang sama masuk ke A dan B. Hanya memiliki kunci publik membuat Anda tersangka bahwa Anda juga memiliki kunci pribadi, sehingga Anda kehilangan anonimitas. Tapi itu biasanya minor, terutama jika Anda hanya menyimpan kunci di
~/.ssh
mana hanya administrator sistem (yang juga tahu dari mana alamat IP Anda login) dapat melihatnya.Selain pertimbangan keamanan ini, kunci pribadi memiliki banyak manfaat praktis. Anda tidak perlu mengetikkan kata sandi terlalu sering, dan khususnya dapat menjalankan skrip otomatis yang tidak meminta Anda begitu Anda memasukkan kunci di ssh-agent atau sejenisnya. Anda tidak perlu mengetik kata sandi terlalu sering, sehingga Anda dapat membuatnya dengan entropi yang lebih tinggi (lebih lama, lebih sulit untuk diketik). Anda tidak perlu mengetikkan kata sandi terlalu sering, jadi ada sedikit risiko bahwa itu akan diintai oleh pengamat manusia atau kamera.
sumber
Jawaban Gilles umumnya baik, kecuali
Kunci ssh Anda
~/.ssh
juga dapat dibaca oleh perangkat lunak apa pun yang berjalan di bawah akun Anda sendiri. Yang mungkin sebagian besar perangkat lunak yang Anda jalankan. Jadi, Anda harus mempercayai perangkat lunak itu dan mereka yang menulisnya.sumber