Apakah itu ide buruk untuk menggunakan kunci ssh pribadi yang sama pada banyak komputer?

35

Saya baru-baru ini membeli laptop dari mana saya perlu mengakses host jarak jauh yang sama yang saya lakukan dari desktop saya. Terpikir oleh saya bahwa mungkin saja menyalin file kunci privat dari desktop saya ke laptop saya dan menghindari keharusan menambahkan kunci baru ke ~/.ssh/authorized_keysfile di semua host yang ingin saya akses. Jadi pertanyaan saya adalah:

  1. Apakah ini mungkin?
  2. Apakah ada implikasi keamanan yang tidak jelas?
  3. Terkadang saya akan masuk ke desktop saya dari laptop saya. Jika ada yang menggunakan kunci yang sama, apakah itu akan menyebabkan masalah?
Jason Creighton
sumber
2
Saya menduga maksud Anda adalah otorisasi, bukan host_hormat. Yang pertama adalah untuk masuk, yang terakhir untuk keluar.
Matthew Schinckel
Tangkapan yang bagus. Tetap.
Jason Creighton

Jawaban:

29

Ya, ini mungkin. Kunci pribadi Anda tidak terikat pada satu mesin.

Tidak yakin apa yang Anda maksud dengan tidak jelas, itu seringkali subjektif;). Sama sekali bukan ide yang buruk jika Anda memastikan Anda memiliki kumpulan kata sandi yang sangat kuat, setidaknya 20 karakter.

Tidak ada masalah tentang menghubungkan dengan kunci yang sama dengan desktop Anda. Saya akan mengatur agen ssh untuk kunci Anda di laptop, dan meneruskan agen ke desktop, jadi Anda akan menggunakan kunci itu pada sistem lain yang Anda akses dari sana.

Dari halaman manual ssh-agent pada sistem Linux:

ssh-agent adalah program untuk menyimpan kunci privat yang digunakan untuk otentikasi kunci publik (RSA, DSA). Idenya adalah bahwa ssh-agent dimulai pada awal sesi X atau sesi login, dan semua jendela atau program lainnya dimulai sebagai klien untuk program ssh-agent. Melalui penggunaan variabel lingkungan, agen dapat ditemukan dan secara otomatis digunakan untuk otentikasi ketika masuk ke mesin lain menggunakan ssh (1).

Anda akan menjalankan ini di laptop Anda, baik program ssh-agent di Linux / Unix (ia datang dengan OpenSSH), atau dengan agen puTTY jika Anda menggunakan Windows. Anda tidak perlu agen berjalan di sistem jarak jauh, itu murni menyimpan kunci pribadi Anda di memori pada sistem lokal sehingga Anda hanya perlu memasukkan kata sandi Anda satu kali, untuk memuat kunci di agen.

Penerusan agen adalah fitur klien ssh ( sshatau dempul) yang hanya bertahan agen melalui sistem lain melalui koneksi ssh.

jtimberman
sumber
1
Saya tidak begitu mengerti apa yang Anda sarankan sehubungan dengan penerusan agen ssh. Bisakah Anda menguraikan hal itu sedikit? Saya harus menyebutkan bahwa saya tidak dapat mengandalkan desktop yang selalu dapat diakses ketika saya perlu menggunakan laptop saya.
Jason Creighton
Diperbarui jawabannya :)
jtimberman
10

Saya dulu menggunakan kunci pribadi tunggal di semua mesin saya (dan beberapa dari mereka saya hanya pengguna, bukan admin), tetapi baru-baru ini mengubah ini. Ini berfungsi memiliki satu kunci, tetapi berarti jika Anda perlu mencabut kunci (jika dikompromikan), maka Anda perlu mengubahnya di semua mesin.

Tentu saja, jika seorang penyerang mendapatkan akses dan dapat ssh ke komputer lain, mereka kemudian bisa mendapatkan kunci dari mesin itu, dan seterusnya. Tetapi itu membuat saya merasa sedikit lebih aman untuk mengetahui bahwa saya dapat mencabut hanya satu kunci, dan mengunci mesin itu. Itu berarti saya harus menghapus kunci dari file Authorized_keys, meskipun.

Matthew Schinckel
sumber
Maaf untuk menghapus posting lama, tetapi apakah Anda merasa ini akan dikurangi dengan mengenkripsi kunci pribadi Anda dengan kata sandi? Atau dalam kasus Anda, apakah kata sandi juga dikompromikan?
Thirdender
1
Mungkin akan dikurangi dengan memiliki frasa sandi pada kunci. Namun dalam kenyataannya, Anda mungkin bisa menggunakan ssh forwarding (menggunakan agen), dan kemudian hanya memiliki satu kunci per mesin nyata yang Anda gunakan, dan sebenarnya dilindungi kata sandi.
Matthew Schinckel