Otentikasi kunci SSH dengan beberapa komputer

21

Saya membaca tentang otentikasi kunci SSH dan mengaturnya dengan 3 komputer saya di rumah.

Saya memiliki satu komputer utama, sebut saja "A", dan dua lainnya, sebut mereka "B" dan "C".

Sekarang berdasarkan dokumentasi yang saya baca, saya akan menjalankan ssh-keygen pada B dan C dan meletakkan kunci publik di komputer A dengan asumsi saya akan selalu SSH ke komputer A, jika saya menggunakan B atau C.

Tapi, saya pikir contoh dokumentasi yang saya baca mengasumsikan hanya 1 komputer rumah yang akan digunakan dengan katakanlah beberapa komputer lain di luar. Dalam situasi saya, apakah masuk akal untuk menjalankan ssh-keygen di satu komputer dan menyalin file ke yang lain? Dengan cara ini saya hanya perlu membuat cadangan satu set kunci? Dan ketika saya masuk ke komputer luar, saya hanya perlu mengaturnya dengan 1 set kunci serta menentang pengaturannya dengan ketiga komputer.

Apakah ini masuk akal? Adakah kesalahan atau catatan peringatan yang perlu dipertimbangkan?

Terima kasih.

linstar
sumber

Jawaban:

29

Secara teori Anda dapat melakukan kedua cara tersebut, tetapi masing-masing memiliki kelebihan dan kekurangan:

Anda memang dapat membuat hanya 1 kunci, katakan itu "milikmu" (sebagai pribadi), amankan di suatu tempat dan salin ke komputer yang Anda gunakan. Keuntungannya adalah Anda dapat terhubung ke A dari mana pun Anda pergi, selama Anda memiliki kunci pribadi SSH Anda. Kekurangannya adalah selama Anda menyalin kunci pribadi Anda dari suatu tempat ke tempat lain, apa pun caranya, Anda meningkatkan risiko pembacaannya oleh seseorang yang menguping koneksi. Lebih buruk lagi, jika komputer C dicuri, Anda harus membuat ulang kunci baru di semua komputer yang menggunakan kunci ini, dan mendistribusikan yang baru.

Di sisi lain, menggunakan 1 kunci per pengguna @ komputer memiliki keuntungan lebih banyak "kontrol-baik" atas "apa yang" dapat terhubung "di mana". Ini cara paling umum untuk dilakukan.

Jika, misalnya, Anda memberikan komputer C kepada saudara / saudari / istri / suami / teman / anjing Anda, atau kepada pencuri (tanpa persetujuan Anda), Anda hanya perlu menghapus kunci dari A's '' berwenang_keys '' mengajukan.

Jadi, bahkan jika itu berarti "lebih banyak kunci di otor_keys" saya sarankan pendekatan kedua.

mveroone
sumber
Anda tidak dapat mendekripsi aliran ssh dengan kunci pribadi klien, dan tergantung pada pengaturan server Anda juga tidak dapat mendekripsi dengan kunci pribadi server. zurlinux.com/?p=1772
Dan Merillat
Itu benar, dan bukan itu yang saya maksud. Maksud saya jika kunci pribadi Anda dicuri, seseorang dapat menggunakannya untuk terhubung ke komputer A dari tempat lain. Ini dapat dikurangi dengan menambahkan FROM = "<IP>" di awal baris Authorized_key. (lihat halaman ssh man)
mveroone
setelah menyalinnya, saya harus memasukkan kata sandi saya untuk menggunakannya di komputer saya yang lain, saya kira itu adalah keamanan setidaknya :)
OZZIE
3

Menggunakan tombol yang sama pada ketiga komputer ini pasti bisa dilakukan - saya selalu melakukannya, terutama untuk kenyamanan.

Kwaio menunjukkan dengan benar bahwa ini meningkatkan risiko kunci Anda dikompromikan. Salah satu solusi yang mungkin adalah dengan memisahkan komponen kunci pribadi dan publik. Begitu:

  • Semua komputer memiliki kunci publik Anda dalam file Authorized_key.
  • Anda menyimpan 2 salinan kunci pribadi Anda; yang satu ada di stik USB di leher Anda (untuk digunakan saat menggunakan ssh untuk mengakses komputer lain), dan yang lain ada di stik USB di tempat yang aman (kalau-kalau Anda kehilangan salinan pertama).

Jika salah satu komputer Anda dicuri atau kunci publik Anda dikompromikan - nah itu hanya kunci publik, jadi apa.

Jika kunci pribadi Anda dicuri atau hilang, Anda segera mulai membuat pasangan kunci baru dan memperbarui kunci publik di semua komputer Anda.

HTH.

ALAN WARD
sumber
2
Oke, tapi apa itu HTH?
mikeserv
3
HTH = Harapan Yang Membantu.
ALAN WARD
1
Akan lebih bijak untuk menunjukkan bahwa jika Anda memasukkan kunci pribadi Anda di flash drive, akan lebih bijaksana untuk menjadikannya kunci pribadi yang dilindungi frasa sandi. Ketidaknyamanan karena harus memasukkan frasa sandi setiap kali dapat dikurangi dengan menggunakan agen (pagent di windows, ssh-agent di linux)
mveroone