Fixing the Remote Host Identification Has Changed Error on Windows and MacOS

Learn how to fix the Remote Host Identification Has Changed error with our guide. Get back to securely accessing your remote server in no time!

Updated: 23 Sep, 24 by Susith Nonis 11 Min

List of content you will read in this article:

If you're receiving the dreaded "Warning: Remote Host Identification Has Changed" message, don't panic. It may seem like your remote server has gone rogue and changed its identity, but fear not - this error is fixable. Whether you're working from home or the office, we've got you covered with our easy-to-follow guide. You'll be back to access your remote server confidently without warning messages throwing you off track. So, buckle up and get ready to take control of your server with our step-by-step solution.

Picture this: you're working away on your remote server, feeling like a tech-savvy superhero, when suddenly, you're hit with a warning message that seems to be written in another language. "Remote Host Identification Has Changed" - what on earth could this mean? Well, fear not, my friend, as we're here to break it down for you in a way that even your grandparents can understand. 

This error occurs when your computer no longer recognizes the identity of the remote server you're trying to connect to. It could be due to a change in the server's IP address or the transfer of the server's public key to a new computer. Whatever the reason, it's fixable - so don't throw in the towel just yet.

Now, you might be wondering why this error even matters. Well, my dear friend, think of it like this: it's like going to a party and not being able to recognize the host. You might get uneasy and question whether you're in the right place. The same goes for your computer - if it can't verify the remote host's identity, it might not allow you to connect, leaving you feeling lost and frustrated. But don't worry; we'll help you return to the party (aka your server) quickly.

🧲🧲Experience the power and flexibility of Windows VPS, the ultimate solution for seamless performance, unrivalled scalability, and effortless management.🧲🧲

Windows VPS
Windows VPS

Starting From $16.99/Monthly

This common SSH error arises when the server's fingerprint, a unique cryptographic identifier, is no longer This error indicates that your computer no longer recognizes the server it is attempting to connect to. This can happen if you change your password or make changes to the server itself.
This mistake is similar to a red flag notifying you about a potential hacker attack. Hackers could try to mislead your computer into connecting to a false server, allowing them to steal your information. Your computer's security software is trying to protect you from this by determining whether the server's ID is correct.
Do not overlook this error! It's crucial to take it seriously. Check to determine if there is anything wrong with the server you are attempting to connect to. If everything appears to be in order, you may need to adjust your computer's settings to reconnect with the server. Continuing reading to fix remote host identification has changed errors in different operating systems.

You can fix "warning: remote host identification has changed!" using a special program called SSH Config Editor, or you can do it manually via the Terminal. Both methods will work, so go with the one that feels most natural.
We believe utilizing the Terminal (or iTerm2 if you like) with a simple text editor such as Nano or Vim is easier. This is because it is simple and does not require a lot of technical understanding. It's an easy approach to fix this problem.

Method 1: using Nano

Nano is a simple text editor that is commonly found on Linux and macOS platforms. Below is an overview of the steps involved:

  1. Find the Terminal app on your computer and open it.
  2. Go to the known_hosts File. This file stores the fingerprints (unique identifiers) of servers you've connected to in the past.
  3. Use the following command to open the file in Nano:

nano ~/.ssh/known_hosts

  1. Identify and delete the faulty key. The error message will most likely identify the precise server or IP address that is causing the problem. Look through the known_hosts file for an entry relating to that server. When you discover it, use the arrow keys to travel to the line and then press Delete to remove it.
  2. Save and Exit. Press Ctrl+X to exit Nano.
  3. When prompted to save the changes, type Y and then Enter.

Method 2: Using Mac Terminal

Don't enjoy dealing with editors? Here's a simpler solution! This method uses the Terminal to remove the incorrect key from your known_hosts file.

Step 1: Open the terminal

Find and open the Terminal app like you did before.

Step 2: Delete the faulty key (take care!)

Here is the essential part: Type this command into the Terminal, but replace "www.monovm.com" with the actual website or hostname that is producing the problem.

ssh-keygen -R www.monovm.com

Warning! This operation deletes the key without prompting. Make sure you enter the correct website address; otherwise, you may destroy all of your keys! Please double-check before pressing Enter! If you eliminate the right key, the error message should not appear the next time you try to connect.

Let's speak about how to resolve that problem on Windows. The procedure varies depending on whether you're using Windows' built-in SSH or a different software like PuTTY. We'll go over both choices to help you decide which one is best for you.

Method 1: using Vanilla

This approach is compatible with the basic Windows SSH Terminal and some SSH clients. Follow the instructions below to resolve the "Remote Host Identification Has Changed" error:

Step 1: Access the User Folder

We're going to open a specific folder on your computer where important files are stored. But how to do it:

  1. Press the Windows key and the "R" key: This will open a small window called the "Run" dialog.
  2. Type %USERPROFILE%: This is a special code that tells Windows to open your user folder.
  3. Press Enter: This will open the folder.

Step 2: Navigate to the .ssh Folder

We're now looking for a specific folder in your user folder that includes SSH connection-related files. Look for a folder called.ssh. It could be hidden, thus you may need to enable the option to display hidden files and directories. You can generally do this by selecting the "View" tab from the folder's settings. Double-click the.ssh folder to open it.

Step 3: Remove the Faulty Key

Now, we should delete a specific entry in the known_hosts file that's causing the error.

  • Open the known_hosts file: Double-click on the file named known_hosts inside the .ssh folder.
  • Find the faulty key: Look for the line in the file that corresponds to the server or IP address mentioned in the error message.
  • Delete the line: Use your mouse to select the entire line, then press the Delete key on your keyboard.
  • Save the file: Press Ctrl+S to save the changes.

Method 3: using PuTTY

If you see that error while using PuTTY, you must address a different issue. The key that is creating the problem is kept in another location. Here's how to locate and delete it.

Step 1: Open Windows Registry

You can get to the Windows Registry in two ways. To open Regedit, hit the Windows key + R and type the following:

regedit

On the other hand, you can click the Windows icon in the bottom-left corner, type "regedit," and launch it from there. Once the Registry Editor is open, move on to the next step.

Step 2: Locate the keys in the Windows registry

In the registry editor's search bar, navigate to:

HKEY_CURRENT_USER/Software/SimonTatham/PuTTY/SshHostKeys/

Here is a collection of PuTTY keys used to make remote connections. Refer to the error notice to find the faulty key, then right-click and delete it. You've now successfully fixed the "Warning: Remote Host Identification Has Changed" bug in PuTTY for Windows.

There are three ways to fix the "Warning: Remote Host Identification Has Changed" problem, and they all involve the Linux Terminal, regardless of whatever distribution you use. So, open your Terminal and let's start with some commands!

Method 1: Use the Commands

In this method, you need to run three quick SSH-Keygen commands to fix the error. In the Terminal, enter each of the following commands one at a time, pressing Enter after each one:

  • ssh-keygen -R hostname
  • ssh-keygen -R ipaddress
  • ssh-keygen -f "~/.ssh/known_hosts" -R "VPS_IP"

Note: don’t forget to press Enter after entering each command.

These commands will refresh the `known_hosts` file and remove any keys causing the issue.

Method 2: Removing the Old Key

This method involves using a text editor to directly modify the known_hosts file, which stores information about the servers you've connected to. We'll use a simple text editor called Nano to do this.

  • Open the terminal: Find and launch the Terminal application on your computer.
    Locate the known_hosts file. The known_hosts file is normally found in your home directory's.ssh folder. To open it in Nano, run the following command:

nano ~/.ssh/known_hosts.

  • Identify the Faulty Key: Locate the line in the file that corresponds to the server or IP address specified in the error notice. The server's fingerprint will be listed on this line. Compare the fingerprint in the file to the one specified in the error message.
  • Delete this line: Once you've found the correct line, use the arrow keys to get to it. Press the Delete key to erase the entire line.
  • Save and Exit: Press Ctrl+X to exit Nano. When prompted to save the changes, type Y and then Enter.

Method 3: Using SSH StrictHostKeyChecking Options

This approach is quite simple—you only need to enter one command and you're ready to go. We'll use SSH's 'StrictHostKeyChecking' option to swiftly resolve the "Warning: Remote Host Identification Has Changed" error. Keep in mind that using this option means your SSH client won't check the '~/.ssh/known_hosts' file, so if a man-in-the-middle attack occurs, you won't be notified.

In the Terminal, type the following command and hit Enter:

ssh <device IP address> -o StrictHostKeyChecking=no

This command will replace the old host key in the `known_hosts` file with a new one. After that, you shouldn’t encounter any more errors.

The "Warning: Remote Host Identification Has Changed" error is an SSH error message indicating a change in the identity of a remote host. Various factors, including reinstallation of the operating system, changes in the network infrastructure, or a man-in-the-middle attack, can cause this error. To fix this error, users can manually edit the known_hosts file, remove the old host key, replace it with the new one, or add the new key to the file through the ssh-keyscan command.

The error occurs when your computer no longer recognizes the identity of the remote server you're trying to connect to. This could be due to a change in the server's IP address or the transfer of the server's public key to a new computer.

The solution to this error involves removing the old host key and adding the new one. You can do this through your command line interface by running a simple command. Our comprehensive guide walks you through each step, making it easy to fix the error and get back to access your server.

No, fixing this error will not impact your server's security. It's an important step in ensuring the security of your server. By verifying the identity of your remote host, you can prevent unauthorized access and ensure that your data remains safe and secure.

Susith Nonis

Susith Nonis

I'm fascinated by the IT world and how the 1's and 0's work. While I venture into the world of Technology, I try to share what I know in the simplest way with you. Not a fan of coffee, a travel addict, and a self-accredited 'master chef'.