0
0

MacからLinuxサーバーにSSH接続する方法と「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED」への対処方法

Last updated at Posted at 2024-08-09

ゴール

Macのターミナルを使用して、Linuxサーバー(Raspberry Pi 5, Ubuntu 24.04 LTS)にSSHで安全にログインできるようになることを目指します。具体的には、SSH接続時に発生する可能性のあるホスト鍵の警告メッセージに対応し、正常に接続を確立する方法を習得します。

実行環境

  • クライアント端末
    • MacBook Air M3
    • macOS Sonoma 14.6.1
  • Linuxサーバー
    • Raspberry Pi 5
    • Ubuntu 24.04 LTS

mac のターミナルからsshでログインする

ssh <ipアドレス> -l <ログインユーザー>

ログイン出来ない: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 ED25519 key sent by the remote host is
[*ホスト鍵*]
Please contact your system administrator.
Add correct host key in /Users/[ローカルユーザー]/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /Users/[ローカルユーザー]/.ssh/known_hosts:10
Host key for <IPアドレス> has changed and you have requested strict checking.
Host key verification failed.

[24-08-09:コメント欄での指摘を受けて追記]
この警告は、なりすましや中間者攻撃(Man-in-the-Middle attack)の可能性があることを示しています。接続先のサーバーが正当なものであることを確認し、ホスト鍵の変更が意図されたものであり、安全であることが確認できた場合にのみ次の対処に進んで下さい。

対処:SSHクライアントの known_hosts ファイルから指定したIPアドレスに対応するホスト鍵を削除する

SSHクライアントはリモートホストのホスト鍵を ~/.ssh/known_hosts ファイルに保存しています。下記コマンドを実行することで中身を確認できます。

cat /Users/[ローカルユーザー]/.ssh/known_hosts

下記コマンドを実行することで、指定されたIPアドレスに対応するエントリ(ホスト鍵)をそのファイルから削除することができます。

ssh-keygen -R <IPアドレス>

成功すること下記のようなメッセージが出力されます

# Host <IPアドレス> found: line [known_hostsの行番号]
/Users/[ローカルユーザー]/.ssh/known_hosts updated.
Original contents retained as /Users/[ローカルユーザー]/.ssh/known_hosts.old

再度、sshでログインしようとすると下記が出力されるので「yes」を入力して下さい。

The authenticity of host '<IPアドレス>' can't be established.
ED25519 key fingerprint is [*ホスト鍵*]
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:1: <過去にsshでログインしたことのあるIPアドレス_1>
    ~/.ssh/known_hosts:4: <過去にsshでログインしたことのあるIPアドレス_2>
    ~/.ssh/known_hosts:7: <過去にsshでログインしたことのあるIPアドレス_3>
    ~/.ssh/known_hosts:8: <過去にsshでログインしたことのあるIPアドレス_4>
    ~/.ssh/known_hosts:9: <過去にsshでログインしたことのあるIPアドレス_・・>
Are you sure you want to continue connecting (yes/no/[fingerprint])? 

ログインが始まります。

Warning: Permanently added '<IPアドレス>' (ED25519) to the list of known hosts.
<ipアドレス> @<IPアドレス>'s password: 

おわりに

この記事では、MacのターミナルからRaspberry Pi 5にSSHでログインする手順と、ホスト鍵が変更された場合の対処方法について説明しました。SSHのホスト鍵は、リモートサーバーの真正性を確認するための重要なセキュリティ機能です。鍵が変わった場合の警告メッセージに適切に対応することで、セキュリティを維持しつつ、安全にサーバーにアクセスすることができます。

SSHはリモート接続において非常に便利で強力なツールですが、同時にセキュリティに関する理解が求められます。今後も、SSHを利用する際には、ホスト鍵や接続先の安全性を確認しながら利用していきましょう。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0