Kunci tanpa frasa sandi bergantung pada tidak ada orang lain yang bisa mendapatkan kunci itu (yang tidak akan bisa mendapatkan sumber daya yang diberikannya pula). Jadi, jika kuncinya memberikan akses ke mesin di sebelahnya, dan kedua mesin memiliki tingkat keamanan elektronik dan fisik yang sama, maka itu bukan masalah besar.
Di sisi lain, jika kunci Anda adalah pada mesin dengan keamanan yang buruk (mungkin memiliki banyak pengguna yang tidak dipercaya, mudah diakses secara fisik, atau tidak diperbarui dengan baik dengan rezim tambalannya), maka Anda mungkin tidak Saya tidak ingin menyimpan kunci tanpa frasa sandi di sana.
Pada akhirnya, tergantung pada kepercayaan pada pengaturan Anda dan menimbang risiko / biaya untuk melakukannya - jika Anda bisa cukup yakin bahwa penyerang tidak secara realistis lebih mudah untuk mendapatkan akses ke kunci daripada ke sumber daya kunci memberi Anda akses ke , maka kamu baik-baik saja. Jika Anda tidak memiliki kepercayaan diri itu, Anda mungkin harus memperbaiki alasan mengapa :)
solusi lain, meningkatkan keamanan sambil mempermudah Anda, jadi Anda tidak perlu mengetikkan kata sandi sepanjang waktu:
jika Anda ingin mengenkripsi kunci pribadi Anda, Anda dapat menggunakan
ssh-agent
di workstation Anda untuk 'cache' kunci yang tidak dienkripsi. ketika Anda ingin menyimpan kunci dekripsi Anda, Anda menjalankanssh-add ~/.ssh/id_rsa
atau apa pun nama kunci pribadi Anda. Anda akan dimintai kata sandi, dan kunci yang didekripsi akan tersedia untuk koneksi ssh Anda sampai Anda keluar, mematikanssh-agent
atau mematikan.Anda dapat
kill
menyimpan kunci denganssh-agent -k
dan Anda dapat menetapkan seumur hidup untuk kunci yang akan di memori denganssh-agent -t [seconds]
begitu misalnya; jika Anda tidak ingin kunci Anda didekripsi selamanya, tetapi Anda ingin melakukan banyak ssh-ing di sekitar host Anda, Anda dapat mengatur batas waktu menjadi 5-10 menit. jadi Anda tidak perlu terus memasukkan kata sandi kunci Anda.sekali lagi, ini semua berkaitan dengan seberapa yakin Anda terhadap keamanan / workstation / Anda, yang, jika Anda satu-satunya yang memiliki akses ke sana, dan Anda memiliki kata sandi lokal yang cukup aman, dan Anda tidak mengundang eksploit dan rootkit pada diri Anda, kunci pribadi tanpa frasa sandi Anda cukup aman.
jika Anda seperti saya, dan Anda menyimpan kunci pribadi Anda di thumb-drive, Anda pasti akan ingin mengenkripsi itu, meskipun itu hanya kunci pribadi (yang terpisah dari yang saya gunakan di workstation saya, jadi jika saya kehilangan kunci saya, saya dapat dengan mudah menghapus kunci publik thumb-drive dari
~/.ssh/authorized_keys
daftar server saya , yang juga memunculkan / excellent / alasan untuk menambahkan komentar BERMANFAAT ke kunci publik Anda)dalam respons Anda terhadap jawaban sebelumnya, Anda hanya mengatakan orang yang Anda percayai memiliki akses ke mesin dengan kunci. saya hanya ingin mengklarifikasi bahwa kunci pribadi Anda TIDAK perlu ada di server yang Anda sambungkan, jika itu yang Anda lakukan. hanya kunci publik Anda yang perlu ada di server, dan itu bukan masalah, itulah sebabnya itu adalah kunci 'publik'.
oh, saya lupa menyebutkan; Saya memulai
ssh-agent
ketika saya mulai X, jika tidak, kunci de-crypted saya simpan denganssh-add
tidak dipertahankan melaluixterm
sesi yang berbeda , dan saya harus memasukkan kembali kata sandi setiap kali saya menutupxterm
saya diluncurkanssh-add
masuk dalam~/.xinitrc
file saya , saya punya:saya memiliki panggilan untuk
ssh-agent
dibungkuseval
karena ssh-agent mengembalikan beberapa variabel lingkungan yang perlu ditetapkan ketika dijalankan, dan dijalankan dari~/.xinitrc
, variabel lingkungan konstan sepanjang sesi X.sumber
ssh-agent
dan menggunakannyassh -A -i privkey user@host
akan memungkinkan penerusan agen ssh, yang akan memungkinkan Anda untuk mengakses server dari server awal, tanpa menempatkan kunci pribadi Anda di server pertama. rantai ssh tidak disarankan, bahkan tanpa penerusan kunci ssh diaktifkan, danssh -A
memiliki masalah keamanannya sendiri. tidak ada alasan kunci di server tidak dapat dienkripsi, sedangkan kunci di workstation Anda adalah frasa sandi.Anda dapat melihat pertanyaan serupa yang saya tanyakan tentang kunci pribadi SSL untuk server web. Pada dasarnya, ada tiga opsi:
Masing-masing cacat, jadi itu semua tergantung pada apa yang paling Anda takuti.
sumber
Untuk akses otomatis, yang seperti yang Anda katakan memerlukan kunci frasa sandi, saya selalu menggunakan opsi tambahan dari otor_keys (lihat sshd (8)) untuk membatasi perintah yang dapat dijalankan.
Biasanya saya memberikan skrip yang ditulis dengan hati-hati di ujung jarak jauh, yang melakukan persis pekerjaan (atau pekerjaan - dapat melihat parameter) yang saya ingin diizinkan.
Kemudian saya juga menguncinya ke alamat IP yang dapat terhubung dengan kunci itu (bukan 100% sangat mudah, tetapi baik-baik saja dengan pembatasan perintah juga.)
sumber
Selama tidak ada orang selain Anda yang memiliki akses ke kunci, Anda tidak memerlukan kata sandi. Bahkan, Anda tidak dapat menggunakan kata sandi pada kunci yang digunakan oleh perangkat lunak otomatis.
sumber
Jika Anda ingin menggunakan ssh untuk melakukan segala jenis prosedur otomatis - Saya sedang memikirkan pemeriksaan Nagios - maka Anda mungkin tidak ingin menggunakan kata sandi.
Dalam situasi ini Anda mungkin tidak akan menggunakan ini di luar LAN, dan Anda akan memiliki kunci disimpan dengan aman di server melakukan prosedur.
Kebanyakan tutorial yang membahas SSH akan mengantisipasi seseorang yang masuk dari jaringan eksternal, mungkin dari komputer yang tidak aman, dalam hal ini sarannya masuk akal.
Pada dasarnya, kecuali Anda tahu ada alasan kuat untuk tidak melakukannya, buat frasa sandi. Menjadi terlalu malas untuk mengetik kata sandi Anda setiap kali mungkin menjadi alasan yang cukup baik untuk Anda :-)
sumber