ssh localhost
テストを行っていて、自分の使っているマシンに接続を行ったら、見慣れぬWarningが表示されて拒否られた。
$ ssh localhost
いやいや、おかしいでしょう。
内容は以下のように出力された。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 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 isSHA256:なんたらかんたら.Please contact your system administrator.Add correct host key in /home/yoshimura/.ssh/known_hosts to get rid of this message.Offending ECDSA key in /home/yoshimura/.ssh/known_hosts:22 remove with: ssh-keygen -f "/home/yoshimura/.ssh/known_hosts" -R "localhost"ECDSA host key for localhost has changed and you have requested strict checking.Host key verification failed.
うーむ、そういえば、自分のマシンに接続したのは記憶では、これまでなかった。
ただ、使用している.ssh以下の秘密鍵や設定などは、Macから持ち込んで使っていたことを思い出した。
そりゃ、fingerprintが違うと言われても、まぁ当然かな…。
Macでlocalhostへの接続テストを行った記憶があるので、その時の情報がそのままknown_hostsに記録されているはず。
今回はLinuxマシン上に移行しているので、トラブったようだ。
メッセージの通りに、knwon_hostsからkeyを削除することにする。
$ ssh-keygen -f "/home/yoshimura/.ssh/known_hosts" -R "localhost"
すると、変更したよ〜と親切にメッセージが出力された。
バックアップも作ってくれている。
# Host localhost found: line 22
/home/yoshimura/.ssh/known_hosts updated.
Original contents retained as /home/yoshimura/.ssh/known_hosts.old
そこで、再度接続を行ってみると
$ ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:Vp9dkzpU+ftwcHwhWbL4c5MQ0oWcS8qvZ41xsZ34pTY.
Are you sure you want to continue connecting (yes/no)? yes
と、初めての接続と同様の流れになるので、yesで完了。
無事に、接続検証ができましたとさ。
見慣れぬWarningとか出ると、ちょっとびっくりするけど、よく読めば全部書いてあるので、落ち着けばOK
よく見ると、今はRSAじゃなくてECDSA使っているっぽい。
それとも、昔からだっけ?
コメント
コメントを投稿
励みになりますので、簡単で良いので一言くださいませ。