Proses untuk memindahkan kunci server SSH ke server baru

9

Akan segera memindahkan server ke perangkat keras baru di pusat data baru, dan tentu saja ini berarti IP baru.

Apa proses yang benar (jika ada) untuk memindahkan kunci SSH dari server asli ke yang baru sehingga menghubungkan klien tidak mendapat peringatan atau harus menerima apa pun lagi?

Apakah mungkin, mengingat IP berubah?

File apa yang harus saya pindahkan? Saya mengasumsikan semua file ssh_host_ *.

Pindah dari RHEL 5 ke Ubuntu 10.04.

Daniel Huckstep
sumber

Jawaban:

8

Anda dapat memindahkan kunci dari server Anda saat ini ke server baru tanpa banyak kesulitan. Anda hanya perlu memastikan mereka masuk ke lokasi yang sama dan memiliki izin yang sama.

Namun idealnya, Anda harus mengambil kesempatan untuk membuat kunci baru dan memperbarui kunci klien untuk kepentingan keamanan.

Mike
sumber
2
Saya lupa menambahkan bahwa pengguna Anda mungkin mendapat peringatan ketika mereka terhubung ke host baru bahwa mereka sudah memiliki host di file hosting mereka yang dikenal yang cocok dengan kunci yang mereka otentikasi. Ini berarti mereka harus menghapus entri dalam file host mereka yang dikenal. Anda tidak bisa menyiasati ini.
Mike
1
Jadi, jika pengguna tetap mendapatkan peringatan, apakah ada gunanya memindahkan kunci?
Daniel Huckstep
1
pengguna akan mendapat peringatan. Ini akan menjadi pria di pesan serangan tengah. Itu terlihat menakutkan tetapi jika Anda menghapus know_hosts dari klien mereka akan mendapatkan pesan yang kurang menakutkan. Saya tidak tahu tentang semacam prompt.
egorgry
5

1) Jika file konfigurasi sshd Anda disimpan di / etc / ssh /, Anda harus menyalin semua itu. Anda akan menemukan konfigurasi sshd di sana, serta host-keypair.

Pastikan Anda juga menyalin izin dengan benar! Sshd hanya akan mengabaikan kunci yang tidak dilindungi dengan benar. (Bagus juga, sebagai kunci pribadi yang tidak terlindungi adalah ide yang sangat buruk.)

2) Jika Anda telah menambahkan kunci publik dari host jarak jauh yang tepercaya dan tidak memerlukan kata sandi untuk login lagi, Anda juga harus menyalin info itu agar login otomatis berfungsi lagi sekarang. Info ini disimpan secara normal di /home/-account-/.ssh/ (di bawah otor_keys). Sekali lagi, jangan lupa izinnya di sini.


Mengenai perubahan alamat IP, dengan asumsi klien jarak jauh benar-benar melihat perubahan dalam IP (Anda tidak berada di belakang proxy terbalik atau apa pun), maka tidak, mereka akan meminta pengguna untuk menerima sertifikat lagi. (karena dalam file known_hosts dari klien jarak jauh, IP server & sertifikat server disimpan bersama) Lebih buruk, jika Anda menetapkan alamat IP itu ke server ssh lain, mereka bahkan mungkin diperingatkan tentang serangan man-in-the-middle.

Jadi hanya menggunakan alamat IP (eksternal) yang sama pada server baru masuk akal.

Arnout
sumber
0

Anda tidak menyebutkan OS Anda. Saya dapat memberi tahu Anda dengan pasti bahwa host RHEL memiliki kunci server yang disimpan di / etc / ssh. Cukup salin direktori itu secara keseluruhan. Anda harus memantulkan sshd / memulai ulang kotak.

Saya percaya bahwa selama Anda terhubung melalui nama DNS yang sama, Anda tidak akan mendapatkan peringatan. Bahkan dengan IP baru.


--Christopher Karel

Christopher Karel
sumber
Catatan tambahan tentang OS-nya
Daniel Huckstep
1
Maka ya, / etc / ssh adalah direktori yang Anda inginkan. Saya hanya merekomendasikan kunci ssh_host *. Jangan pindahkan file konfigurasi. Dan Anda ingin membuat cadangan sisi tujuan, hanya untuk aman.
Christopher Karel