初めての経験、sshで接続がドラブルと大変だった
どうも、じぇいかわさきです。
みなさんも、パソコンを操作していてトラブルが発生した時、全然皆目検討がつかないと、結構焦りませんか。
今回は自分のトラブルから、今まで知らなかった事を得ましたので、自分の備忘録的な事を書きます。
なにかの時に、誰かに役立つかな。
認証機能が有るsshはOSを入れ替えると大変
Linux系の知識が浅いと結構手強い
でも解決は簡単だった
始まりは些細な事から
自分が実験で使っているラズパイ3B+での出来事が発端でした。
このラズパイは、NASとして使ったりしているので固定IPでないと調子が悪いんですよね。
なぜかと言うと、DHCP設定で電源を入れ直す度にIPアドレスが変わってしまうと、毎回自分でIPを調べて接続し直さなければいいけない。
従って、変動しきではなく静的な固定IPを割り振って設定を変えたつもりでした。
しかし、実際には時々VNCも使えなくなるし、そういうときにはPINGも通らない状況になっているんです。
おかしいと思いながら、何回も設定用のdhcpcd.confファイルを開いて確認したり、修正していたりしました。
そういう時に限って、余計におかしくなってしまうんですよね。そもそも、Linuxの知識も十分でない状況で要のファイルをいじるのは狂気の沙汰とも言えなくはない。
ご多忙にもれず、ネットワーク接続がおかしくなってしまい、一向にLinkupしなくなってしまいました。
何をやっても治らないので、諦めて最新版のOSに入れ替えを実施したんです。
これが、そもそも悪夢のスタートでした。
OSの入れ替え後、最初にIPアドレスが変化しないように、リモートではなくラズパイ上でdhcpcd.confを書き換えて、固定IPに設定しなおし、設定が反映されるように再起動しました。
特に問題は無いなと思い、macからにリモート接続を試みましたが、ここで初めてトラブルが発生したのです。
sshの認証方式を知らないことが問題だった
ラズパイに外部から接続する場合、一昔前はTelnetを使用しておりましたが、今はセキュリティの関係でsshを使用することになっております。
ラズパイは初期値では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:O6bRFAiJAd7szCRyMQSk1xAkFoOAsNsuYtQ76Yo8LzE.
Please contact your system administrator.
Add correct host key in /Users/******/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/******/.ssh/known_hosts:3
ECDSA host key for 192.168.10.15 has changed and you have requested strict checking.
Host key verification failed.
正直な話、こんなエラーは見たことなかったので唖然としてしまいました。
どうやら何かの認証が違っていると言っているのだと思うのですが、いまいちよくわかりません。
今まで問題なく動いていたのですが、OSの入れ替えでダメになったので、明らかにラズパイ側での問題のように思えるんです。
しかし、エラーの内容がよく理解できません。
困った時のインターネット、自力でなんとか調べていきくしか無いです。
キーワードを変えながら検索していくと、なんとか同じようなエラーが出ている人を見つけました。
やはり、OSを入れ替えたりすると、以前に接続していたときとsshの接続キーが変わってしまうようですね。
そういえば、一番最初にsshで接続すると認証するかみたいなことを聞いてきたのを思い出しました。
最初の接続で、接続先を認証してmac側に記録されているんですね。だからエラーの中に、自分のmacのフォルダーパスが記載されているんだ。
初めて知りました。
対応方法としては、記録されているssh-keyを初期化するようです。確かに、自宅の部屋内での接続しかしていませんので、綺麗サッパリ初期化しても問題はないですね。
初期化を実施するには、ターミナルウインドウ内で以下のコマンドを打ちます。
ssh-keygen -R <host name>
自分の場合は、host nameの場所にIPアドレスを入れて対応しました。
再度接続をしてみると、再度接続するか?という問いが返ってきたので、どうやら問題は対処できたようです。
問題が発生したときは、ネットで調べると必ず見つかる
今回は、自分が体験したトラブルに対しての対応について紹介しました。
sshなんて、多分知らない人が多いだろうし、そもそもsshを使っている人はGUIではなくCUIが好きな人が多いですね。
だから、逆にコマンドに精通した人が多いのでネットにもトラブルシュートの記事が少ないのだろうと思います。
調べたときも、最初から接続できないという話題はたくさんありますが、OSを入れ替えたら接続できないというのは、なかなか見つかりませんでした。
いずれにしても、ネットを探せば必ず手がかりは見つかります。
自分もトラブルを解決したことに関しては、積極的に記事にして困った人の役にたてるようにしたいと思いました。