Cara Memperbaiki “Peringatan: Identifikasi Host Jarak Jauh Telah Berubah!”

Diterbitkan: 2024-10-16
Daftar isi
  • Memahami Peringatan tersebut
  • Verifikasi Identitas Server
  • Solusi 1: Hapus Kunci Host Lama Secara Manual (Windows, Mac, Ubuntu)
  • Solusi 2: Hapus Seluruh File unknown_hosts (Windows, Mac, Ubuntu)
  • Solusi 3: Abaikan Pemeriksaan Kunci Host Sementara (Windows, Mac, Ubuntu)
  • Solusi 4: Tambahkan Kunci Host Baru Secara Manual (Windows, Mac, Ubuntu)
  • Solusi 5: Periksa Perubahan DNS atau Alamat IP (Windows, Mac, Ubuntu)
  • Praktik Terbaik untuk Menghindari Masalah Ini di Masa Depan (Windows, Mac, Ubuntu)
  • Kesimpulan

Saat Anda mencoba menyambung ke server jarak jauh menggunakan SSH, Anda mungkin menemukan pesan kesalahan: “Peringatan: Identifikasi Host Jarak Jauh Telah Berubah!” . Pesan ini adalah fitur keamanan yang digunakan SSH untuk melindungi Anda dari serangan man-in-the-middle, yang mana pihak ketiga dapat mencegat komunikasi Anda dengan server.

Secara sederhana, peringatan ini memberitahu Anda bahwa sidik jari server (pengidentifikasi unik yang disimpan di mesin lokal Anda) tidak cocok dengan apa yang telah direkam SSH sebelumnya. Ini bisa saja merupakan perubahan yang wajar, misalnya server sedang diinstal ulang atau alamat IP-nya berubah, namun hal ini juga bisa menandakan potensi ancaman keamanan. SSH memblokir koneksi untuk melindungi sistem Anda sampai Anda memverifikasi keaslian server.

Dalam artikel ini, kami akan membahas cara mengatasi masalah ini dengan aman di sistem Mac , Ubuntu (Linux) , dan Windows , memastikan Anda dapat terus terhubung dengan aman tanpa mengabaikan potensi risiko.

Anda mungkin tertarik membaca: Cara memperbaiki Error Permission Denied (Publickey)

Memahami Peringatan tersebut

Mengapa Peringatan Itu Muncul?

SSH menyimpan sidik jari kunci server jarak jauh dalam file bernama known_hosts di mesin lokal Anda. Sidik jari ini digunakan untuk memverifikasi bahwa Anda terhubung ke server yang sama setiap kali Anda menggunakan SSH. Jika sidik jari server berubah, SSH akan menampilkan peringatan kepada Anda karena tidak dapat dipastikan apakah identitas server telah berubah secara sah atau jika seseorang mencoba mencegat koneksi Anda.

Skenario Umum untuk Peringatan:

  • Penginstalan Ulang atau Peningkatan Server: Jika server telah diinstal ulang, disetel ulang, atau ditingkatkan, server mungkin menghasilkan kunci SSH baru, yang tidak cocok dengan yang disimpan di file known_hosts Anda.
  • Perubahan Alamat IP: Jika alamat IP server telah berubah (misalnya, karena pindah ke penyedia hosting atau jaringan baru), SSH mungkin menandai perubahan ini sebagai perubahan yang mencurigakan.
  • Perubahan DNS: Jika ada pembaruan atau kesalahan konfigurasi pada catatan DNS server, SSH mungkin menafsirkan ini sebagai server yang berbeda.
  • Perubahan Konfigurasi Server: Terkadang, administrator server mengubah konfigurasi kunci SSH mereka, sehingga menghasilkan kunci baru yang tidak cocok dengan kunci sebelumnya.
  • Potensi Ancaman Keamanan (Serangan Man-in-the-Middle): Peringatan tersebut mungkin merupakan sinyal seseorang mencoba mencegat koneksi Anda ke server. Jika Anda tidak yakin dengan perubahannya, penting untuk memverifikasi identitas server sebelum melanjutkan.

Peran File known_hosts :

File known_hosts adalah tempat SSH menyimpan informasi tentang host jarak jauh yang sebelumnya Anda sambungkan. File ini biasanya terletak di direktori ~/.ssh/ di Mac dan Ubuntu, dan untuk pengguna PuTTY di Windows, file ini menyimpan kunci host di Windows Registry.

Verifikasi Identitas Server

Sebelum melakukan perubahan apa pun untuk mengatasi masalah “ Identifikasi Host Jarak Jauh Telah Berubah! ” peringatan, sangat penting untuk memverifikasi apakah identitas server telah berubah secara sah. Langkah ini memastikan Anda tidak menjadi korban serangan man-in-the-middle.

Mengapa Anda Harus Memverifikasi Identitas Server Terlebih Dahulu

Mengabaikan langkah ini dapat mengakibatkan koneksi ke server yang disusupi atau berbahaya, yang dapat membahayakan data atau kredensial Anda. Selalu tanggapi peringatan ini dengan serius, terutama jika Anda tidak yakin dengan perubahan terkini pada server.

Langkah-langkah Verifikasi Identitas Server:

  • Hubungi Administrator Server: Jika bukan Anda yang memelihara server, hubungi administrator atau penyedia hosting dan tanyakan apakah ada perubahan terkini yang dilakukan, seperti perubahan alamat IP, instalasi ulang server, atau pembuatan ulang kunci.
  • Bandingkan Sidik Jari Kunci Host: Gunakan perintah berikut untuk memeriksa kunci host server secara manual:
     ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

    Outputnya akan menampilkan sidik jari kunci host, yang dapat Anda bandingkan dengan yang ada di file known_hosts Anda atau permintaan dari administrator server.

Solusi 1: Hapus Kunci Host Lama Secara Manual (Windows, Mac, Ubuntu)

Untuk Mac dan Ubuntu (Linux):

  1. Buka terminalnya.
  2. Buka file ~/.ssh/known_hosts menggunakan editor teks:
     nano ~/.ssh/known_hosts
  3. Cari baris yang sesuai dengan nama host atau alamat IP server jarak jauh.
  4. Hapus baris yang berisi kunci host lama.
  5. Simpan file dan tutup editor teks.
  6. Sambungkan kembali ke server menggunakan SSH:
     ssh <username>@<hostname>

Penghapusan Otomatis (Mac dan Ubuntu):

Daripada mengedit file known_hosts secara manual, Anda dapat menggunakan perintah berikut untuk menghapus kunci host lama secara otomatis:

 ssh-keygen -R <hostname or IP>

Untuk Windows (Menggunakan Putty):

  1. Buka Putty .
  2. Tekan Windows + R , ketik regedit , dan tekan Enter.
  3. Arahkan ke jalur registri:
     HKEY_CURRENT_USER\Software\Myusername\PuTTY\SshHostKeys
  4. Temukan entri yang terkait dengan nama host atau alamat IP server jarak jauh.
  5. Klik kanan pada entri dan pilih Hapus .
  6. Sambungkan kembali ke server di PuTTY, dan Anda akan diminta untuk menerima kunci baru.

Untuk Windows (Menggunakan Git Bash):

  1. Buka Git Bash .
  2. Jalankan perintah berikut:
     ssh-keygen -R <hostname>
  3. SSH akan meminta Anda untuk menerima kunci baru saat Anda terhubung lagi.

Solusi 2: Hapus Seluruh File known_hosts (Windows, Mac, Ubuntu)

Untuk Mac dan Ubuntu (Linux):

  1. Buka terminalnya.
  2. Jalankan perintah berikut untuk menghapus seluruh file known_hosts :
     rm ~/.ssh/known_hosts
  3. Sambungkan kembali ke server jarak jauh menggunakan SSH:
     ssh <username>@<hostname>

Untuk Windows (Menggunakan Putty):

  1. Buka Putty .
  2. Tekan Windows + R , ketik regedit , dan tekan Enter untuk membuka Editor Registri .
  3. Arahkan ke:
     HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
  4. Klik kanan pada folder SshHostKeys dan pilih Hapus . Ini akan menghapus semua kunci host yang disimpan.
  5. Sambungkan kembali ke server menggunakan PuTTY, dan Anda akan diminta untuk menerima kunci host baru.

Untuk Windows (Menggunakan Git Bash):

  1. Buka Git Bash .
  2. Hapus file known_hosts dengan menjalankan:
     rm ~/.ssh/known_hosts
  3. Saat Anda menyambung kembali ke server menggunakan SSH, Anda akan diminta untuk menerima kunci host baru.

Solusi 3: Abaikan Pemeriksaan Kunci Host Sementara (Windows, Mac, Ubuntu)

Jika Anda perlu terhubung ke server dengan cepat dan tidak punya waktu untuk menghapus kunci host lama secara manual, Anda dapat melewati verifikasi kunci host untuk sementara. Meskipun metode ini berfungsi dalam keadaan darurat, metode ini tidak disarankan untuk penggunaan rutin karena dapat membuat Anda terkena potensi risiko keamanan.

Untuk Mac dan Ubuntu (Linux):

 ssh -o StrictHostKeyChecking=no <username>@<hostname>

Untuk Windows (Menggunakan Git Bash):

 ssh -o StrictHostKeyChecking=no <username>@<hostname>

Untuk Windows (Menggunakan Putty):

  1. Buka Putty .
  2. Navigasikan ke Koneksi > SSH > Kunci Host .
  3. Nonaktifkan pemeriksaan kunci host dengan memilih Selalu terima .
  4. Sambungkan kembali ke server tanpa memverifikasi kunci host.

Solusi 4: Tambahkan Kunci Host Baru Secara Manual (Windows, Mac, Ubuntu)

Untuk Mac dan Ubuntu (Linux):

 ssh-keyscan -H <hostname> >> ~/.ssh/known_hosts

Untuk Windows (Menggunakan Git Bash):

 ssh-keyscan -H <hostname> >> ~/.ssh/known_hosts

Untuk Windows (Menggunakan Putty):

Sayangnya, PuTTY tidak memiliki padanan langsung untuk ssh-keyscan . Untuk menambahkan kunci host secara manual, Anda harus terhubung ke server dan mengizinkan PuTTY meminta Anda memasukkan kunci host baru.

Solusi 5: Periksa Perubahan DNS atau Alamat IP (Windows, Mac, Ubuntu)

Untuk Mac dan Ubuntu (Linux):

 nslookup <hostname>
 dig <hostname>

Untuk Windows (Menggunakan Git Bash):

 nslookup <hostname>
 dig <hostname>

Untuk Windows (Menggunakan Putty):

  1. Buka Command Prompt atau PowerShell .
  2. Gunakan perintah berikut untuk memeriksa DNS atau alamat IP:
     nslookup <hostname>
  3. Bandingkan alamat IP di output dengan apa yang ditunjukkan PuTTY di registri.
  4. Jika alamat IP telah berubah, hapus kunci host lama dari registri PuTTY dengan membuka:
     HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
  5. Hubungkan kembali melalui PuTTY, dan Anda akan diminta untuk menerima kunci baru.

Praktik Terbaik untuk Menghindari Masalah Ini di Masa Depan (Windows, Mac, Ubuntu)

  • Gunakan Alamat IP Statis: Konfigurasikan server Anda dengan alamat IP statis untuk mencegah perubahan tak terduga yang dapat memicu peringatan.
  • Bersihkan atau Perbarui known_hosts Secara Teratur : Tinjau dan bersihkan kunci host lama atau usang secara berkala.
  • Pertimbangkan Menggunakan Sertifikat SSH: Gunakan sertifikat SSH untuk manajemen kunci host yang dapat diskalakan, sehingga mengurangi kemungkinan peringatan ini.
  • Pantau Perubahan DNS atau IP: Awasi perubahan pada catatan DNS atau alamat IP dan perbarui known_hosts sebagaimana mestinya.

Kesimpulan

“Identifikasi Host Jarak Jauh Telah Berubah!” peringatan adalah fitur keamanan penting di SSH yang mencegah akses tidak sah dengan memverifikasi identitas server jarak jauh. Meskipun hal ini mungkin mengkhawatirkan, penting untuk mengambil langkah-langkah yang diperlukan untuk memverifikasi identitas server sebelum melanjutkan dengan perubahan apa pun.

Dengan menggunakan solusi yang diuraikan dalam artikel ini, Anda dapat mengatasi peringatan dengan aman baik Anda menggunakan Windows , Mac , atau Ubuntu . Selalu ingat untuk memverifikasi keaslian server terlebih dahulu, lalu pilih solusi yang paling sesuai dengan situasi Anda, apakah itu menghapus kunci host lama, menghapus file known_hosts , atau melewati pemeriksaan sementara.

Selain itu, mengikuti praktik terbaik seperti menggunakan alamat IP statis, memperbarui known_hosts secara rutin, dan mempertimbangkan sertifikat SSH dapat membantu meminimalkan terjadinya masalah ini di masa mendatang.