WSL2环境下因服务器重装引发的SSH连接问题排查记录
背景
近期在重装一台云服务器后,我尝试从本地的WSL2环境通过SSH连接,遇到了连接失败的问题。我的工作环境组合比较典型:SSH密钥对存放在Windows原生系统下(C:UsersYourUser.ssh),而日常的终端操作则在WSL2中完成。本文旨在记录该问题的排查过程和最终采用的优化方案。
1. 初步尝试:指定密钥路径连接
服务器重装后,需要将本地的SSH公钥重新部署到服务器的authorized_keys文件中。在WSL2终端中,直接执行 ssh-copy-id 无法访问到位于Windows文件系统中的密钥。
解决方案是利用WSL的挂载机制,通过/mnt/路径访问Windows磁盘,并使用 ssh-copy-id 的 -i 参数来指定公钥的具体位置。
# -i 参数用于指定身份文件(公钥)
ssh-copy-id -i /mnt/c/Users/我真棒/.ssh/id_rsa.pub root@38.55.178.244
2. 发现问题:主机密钥验证失败
执行上述命令后,连接并未成功,终端返回了关于主机身份识别变更的警告:

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
...
Host key verification failed.
这个警告是SSH的一项核心安全特性。SSH客户端会在本地的 ~









