windows10ではOpenSSHが正式にサポートされるようになり、windowsでのSSHが簡単に出来るようになりました。ただ使っているとこんな感じの接続エラーで接続出来ないことがあります。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:bz0bwurjI3mT2s17YKf2hOX1v8aO01RgRho/+rWwcOE.
Please contact your system administrator.
このエラーは簡単に言うと接続先のサーバの情報が変わったときに起こるエラーで、安全な接続を行うための措置だそうです(間違っていたら補足ください)。接続しても問題の無いサーバだった場合はこのエラーを避ける必要がありますが、macやlinuxだとssh-keygen -R hostname
で簡単に回避できますが、Updating known_hosts is not supported in Windows yet
となり、windowsではコマンドで情報を更新することが出来ないようです。そこでエラーメッセージの中にある「known_hosts」ファイルを直接修正することで解決できました。ファイルの場所はエラーメッセージ内にある、
Add correct host key in C:\\Users\\ユーザー名\.ssh\known_hosts to get rid of this message.
を確認してください。修正はメモ帳でOKです。(\記号が二重になっているところは一個に書き直す)
ここから、エラーの出るホスト名が書かれている1行を消して再度sshを行うと、エラーを出すことなく接続出来ます。
※この方法はセキュリティ的に問題ないときに行ったほうがいいですが、そこは自己責任でどうぞ。
##参考
SSH接続エラー回避方法:.ssh/known_hostsから特定のホストを削除する/削除しないで対処する3つの方法
Windowsで始める初めてのSSH