One of the servers I frequently log into via SSH has changed it's IP address. So, now I'm getting man in the middle attack warnings when I try to use SSH via Windows Powershell and OpenSSH for Windows.
On a linux machine, I would just remove the offending line from ~/.ssh/known_hosts. But, the ~/.ssh directory seems to be empty.
Where is the known_hosts file for Powershell/OpenSSH? I've checked in C:\Program Files\OpenSSH\home\anschauung\.ssh, but that folder is empty as well.
2 Answers
On windows it is usually stored in the %USERPROFILE%\ssh or %USERPROFILE%\.ssh folders. If you type %USERPROFILE% into the Windows explorer address bar it will be expanded automatically. You can also try cd /d "%USERPROFILE%\ssh" or cd /d "%USERPROFILE%\.ssh" from a command prompt.
Also see:
1Had a similar issue not fixed with the user profile's known_hosts, so for anyone looking: If you have installed git, TortoiseGit, etc on Windows, the location of the overriding known_hosts file is in your git folder, e.g. Programs/Git/.ssh or Programs (x86)/Git/.ssh.
As per the error message
Add correct host key in /.ssh/known_hosts to get rid of this message.
Offending key in /.ssh/known_hosts:1open the known_hosts file in an editor like Sublime with admin rights, remove the corresponding entry for your server in Programs/Git/.ssh/known_hosts and the new key fingerprint will get added on the next connection.
2