我经常通过 SSH 登录的服务器之一已更改其 IP 地址。因此,现在当我尝试通过 Windows Powershell 和 OpenSSH for Windows 使用 SSH 时,我会收到中间人攻击警告。
在 Linux 机器上,我只需从中删除有问题的行即可~/.ssh/known_hosts
。但是,~/.ssh
目录似乎是空的。
Powershell/OpenSSH 的 known_hosts 文件在哪里?我已经检查过了C:\Program Files\OpenSSH\home\anschauung\.ssh
,但该文件夹也是空的。
答案1
在 Windows 上,它通常存储在%USERPROFILE%\ssh
或 %USERPROFILE%\.ssh
文件夹中。如果您 %USERPROFILE%
在 Windows 资源管理器地址栏中输入,它将自动展开。您也可以从命令提示符中尝试cd /d "%USERPROFILE%\ssh"
或。cd /d "%USERPROFILE%\.ssh"
另请参阅:https://stackoverflow.com/questions/32945533/is-there-a-definitive-path-for-known-hosts-in-windows
答案2
用户配置文件的known_hosts 有一个类似的问题没有修复,因此对于任何人来说:如果您在 Windows 上安装了 git、TortoiseGit 等,则覆盖known_hosts 文件的位置位于您的 git 文件夹中,例如 Programs/Git/.ssh 或 Programs (x86)/Git/.ssh。
根据错误信息
Add correct host key in /.ssh/known_hosts to get rid of this message.
Offending key in /.ssh/known_hosts:1
使用管理员权限在 Sublime 等编辑器中打开 known_hosts 文件,删除 Programs/Git/.ssh/known_hosts 中服务器的相应条目,新的密钥指纹将在下次连接时添加。