Bagaimana cara menggunakan kunci privat publik dalam menghubungkan dengan beberapa server?


0

Asumsikan saya memiliki 4 server A, B, C dan Z dan desktop saya adalah MacBox dan ada pengembang lain Adam. Saya telah membuat pasangan kunci privat publik di MacBox saya dan menyalin kunci publik ke A sehingga sekarang saya dapat ssh user @ A tanpa masalah. Server A sekarang memiliki ~ / .ssh / Authorized_key berisi kunci publik dari MacBox.

(1) Sekarang saya ingin dapat ssh ke B dan C dari MacBox. Apakah saya perlu membuat pasangan kunci publik / pribadi lagi untuk masing-masing B dan C? Atau saya bisa menyalin kunci publik yang sudah dibuat untuk A ke B dan C?

(2) Server Z juga ingin dapat terhubung ke B dengan ssh menggunakan kunci sehingga skrip yang berjalan di server Z dapat menjalankan perintah jarak jauh di server B. Apakah saya perlu masuk ke Z dan menghasilkan pasangan kunci dan menyalin kunci publik dari server Z ke B?

(3) Saya ingin Adam dapat login ssh ke server B. Apakah saya perlu memberikan kata sandi server B ke Adam sehingga ia dapat menghasilkan pasangan kunci dan ia menyalin kunci publiknya ke B? Seperti semua server, B adalah OS linux dan memiliki akun userB di samping pengguna root. Saya adalah pemilik server A, B dan C. Saya memiliki opsi untuk membuat akun 'adam' dan memberikan hak istimewa adam sudo sama seperti userB sehingga ia dapat sistem perintah seperti memulai dan menghentikan layanan. Masih harus mencari tahu apakah ada keuntungan keamanan membuat akun terpisah untuk Adam atau hanya membiarkan pengguna Adam akun penggunaB.

Jawaban:


2

Setiap pengguna hanya membutuhkan satu pasangan kunci publik / pribadi ssh. Anda menambahkan kunci publik ke file otor_keys pengguna di setiap server yang Anda ingin mereka masuki.

Sebagian besar distribusi linux menyediakan alat yang disebut ssh-copy-id yang berfungsi untuk Anda. Ini mirip dengan perintah ssh. Semoga Mac memiliki perintah ini juga.

Jadi, jawaban atas pertanyaan Anda adalah sebagai berikut: 1. Dari MacBox, jalankan "ssh-copy-id user @ B" untuk memasukkan kunci publik Anda ke file otor_keys pengguna di server B. Jalankan "ssh-copy-id user @ C "untuk melakukan hal yang sama untuk server C.

  1. Anda tidak menentukan pengguna mana di server Z yang perlu terhubung ke B. Jika penggunaZ telah memiliki pasangan kunci ssh, maka Anda hanya perlu menggunakannya. Sekali lagi, jalankan "ssh-copy-id user @ B" pada server Z untuk mengatur semuanya.

  2. Apakah Adam memiliki akun di server B? Apakah Anda ingin Adam menggunakan akun tertentu untuk masuk ke server B? Jika Adam tidak memiliki akun di server B, Anda mungkin harus membuat akun untuk Adam sebelum melakukan sesuatu dengan SSH. Jika Anda ingin Adam menggunakan akun tertentu untuk masuk ke server B, dan akun itu sudah ada, maka tidak diperlukan pembuatan pengguna. Setelah ada akun untuk Adam untuk masuk ke server B dengan, Adam perlu membuat pasangan kunci SSH. Setelah Adam membuatnya, Adam dapat menggunakan program ssh-copy-id untuk mendapatkan bagian kunci publik ke server B. Menjalankan "ssh-copy-id B" sama dengan "ssh-copy-id Adam @ B" jika Adam memiliki akunnya sendiri. Menjalankan "ssh-copy-id user @ B" akan memasukkan kunci publik Adam ke file otor_keys pengguna di server B.

Semoga ini membantu.


1
terima kasih atas jawabannya, saya memperbarui pertanyaan untuk menjelaskan.
user61766

Re: edit OP: Beri Adam akunnya sendiri. Pada dasarnya Adams keypair dapat digunakan sebagai ganti kata sandinya. Ia dapat menggunakan kunci yang sama untuk ketiga server atau menghasilkan yang berbeda. Karena hanya Adam yang memiliki kunci pribadinya, hanya Adam yang dapat menggunakan akun Adams. Dengan cara ini jika Anda ingin menonaktifkan akun Adam, atau berikan lebih banyak hak istimewa yang Anda bisa. Saya membuat akun dengan kata sandi dan begitu keypair berfungsi kemudian nonaktifkan kata sandi.
Tyson

Versi terbaru dari macOS memang memiliki ssh-copy-id, tetapi saya tidak yakin versi apa yang pertama kali menambahkannya.
Gordon Davisson
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.