質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

SSH公開鍵が自動的に更新される可能性について

tetsuharu0911
tetsuharu0911

総合スコア9

公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

2回答

1グッド

1クリップ

390閲覧

投稿2022/10/12 15:34

環境

・AWS EC2にてLinuxサーバ(CentOS7)のインスタンスを作成。
・リモートアクセス方法として、SSH公開鍵認証方式で接続。
・キーペアはAmazon EC2を利用して作成。
・秘密鍵にはパスフレーズは設定していない。
・サーバ側のパスワード認証方式は無効に設定。

発生している問題・エラーメッセージ

先週までSSH接続していたクライアントからサーバへSSH接続しよう
としたところ、SSH接続時に以下のメッセージが表示されました。

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

試したこと

SSH再接続

サーバ管理者に確認したころ、SSH公開鍵を変更した事実はないとの
ことでしたので、$HOME/.ssh/known_hostsの該当行を削除して
SSH接続を再試行したところ、上記のメッセージは表示されずに
接続することができました。

公開鍵の確認

気になりましたので、公開鍵の更新日付を確認したところ、先週の接続
から、今回メッセージが表示された接続の間の日付で更新されている
ことになっていました。

確認したこと

/var/log/secureログの不明IPからのSSH接続確認

/var/log/secureおよびサーバに保存されている1か月分のsecureログに
不明IPからのSSH接続(Accepted publickeyでgrep)がないかを確認し
問題ありませんでした。

質問したいこと

1.サーバ側のSSH公開鍵の更新日付変更による影響

SSH公開鍵の内容は変更されず、更新日のみが変更とされていた場合にも
「REMOTE HOST IDENTIFICATION HAS CHANGED!」のメッセージが
表示されることになるのでしょうか?

2.SSH公開鍵が変更されていないことの確認方法

クライアントからSSH接続を行うために、known_hostsの該当行を削除する
だけでSSH接続できたということで、公開鍵の内容は変更されていないと
判断しているのですが、これは間違いでしょうか?

3.SSH公開鍵が自動的に更新される可能性について

サーバの管理者はSSH公開鍵を変更していないと言っているのですが、更新
日付は変わっていました。自動的に更新するような処理なども入れていない
ようなのですが、OSや別のプログラムが自動的に更新する可能性はあります
でしょうか?

4.SSH不正アクセスの確認方法

SSHの不正アクセスについてはsecureログの確認を行いましたが、そのほかに
確認していたほうが良い内容やログなどはないでしょうか?

melianを押しています

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

melian

2022/10/12 16:03

以下の記事のコメントが参考になるかもしれません。 On EC2, when does the host key change? - Server Fault https://serverfault.com/questions/617518/on-ec2-when-does-the-host-key-change Comment: > I ran the command suggested in the answer to which I previously linked – grep ssh /var/log/cloud-init.log and found lines in the output for some util.py script that removed and then re-generated all of the SSH keys on the server.
tetsuharu0911

2022/10/12 21:37

ご回答ありがとうございます。 早速、cloud-init.logがあるか、あった場合はそのログの内容を確認したいと思います。
tetsuharu0911

2022/10/13 02:58

教えて頂きましたcloud-init.logにコメントとは少し異なるのですが ログが確認できました。 しかし、インスタンスIDの変更や再起動は行われていないため、何故 util.pyが実行されてたのかはよく分かりません。
melian

2022/10/13 03:10

憶測になりますが、例えば中間者攻撃への対応(セキュリティフィックス)で、SSH パッケージがアップデートされたのかもしれません。
tetsuharu0911

2022/10/13 05:53

ご回答ありがとうございます。 これ以上の原因調査は確認が難しいため、SSH接続のセキュリティについての施策 を再確認して安心したいと思います。

回答2

0

ベストアンサー

教えて頂きましたcloud-init.logにコメントとは少し異なるのですがログが確認できました。

原因不明ながらも、更新されたのは事実らしいと言う決着が付いたようですが、それと無関係に回答できる部分だけ回答します。

1.サーバ側のSSH公開鍵の更新日付変更による影響

ファイルの更新日時は関係ないでしょう。

2.SSH公開鍵が変更されていないことの確認方法

メッセージはknown_hostsに保存されている物と、今回送られてきたホスト公開鍵が不一致だと言うことなので、known_hostsファイルのデータを削除してから接続したらメッセージが出ないのは当たり前で、何の確認にもなっていません。
メッセージが出たこと自体が、前回接続時以降にホスト公開鍵が変わったという意味です。

投稿2022/10/13 06:13

otn

総合スコア80489

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

tetsuharu0911

2022/10/13 07:07

ご回答いただきましてありがとうございました。 更新日付の変更ではメッセージが出ないこと、ホスト鍵が変更されている という事実は変わらないという事で認識しました。
otn

2022/10/13 07:25 編集

> データを削除してから接続したらメッセージが出ないのは当たり前で、 比較元が無いので不一致のメッセージは出ませんが、新規扱いになるので、「こういう公開鍵のフィンガープリントのサーバーに接続しようとしているがあってるよね?」というメッセージは当然出ますね。

0

接続鍵が違う場合はそのようなエラーは出ません

$HOME/.ssh/known_hostsの該当行を削除して

なにを削除したんでしょうか

投稿2022/10/12 22:27

y_waiwai

総合スコア86066

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

2022/10/13 07:17

こちらの回答が他のユーザーから「質問に対する回答となっていない投稿」という指摘を受けました。

回答へのコメント

tetsuharu0911

2022/10/13 00:38

ご回答いただきましてありがとうございます。 >なにを削除したんでしょうか known_hostsのSSH接続先のホスト情報を削除いたしました。 >接続鍵が違う場合はそのようなエラーは出ません 当方はホスト側の公開鍵が変わっていると「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」が表示されると考えていました。 このメッセージが表示されるのはどのような原因が考えれるでしょうか。
melian

2022/10/13 05:01

憶測になりますが、y_waiwai 氏はユーザの公開鍵だと勘違いしたのでしょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。