Linux -> サーバ構築 -> SSH

VIPホスト使用時のknown_hosts設定

(1) 正常時
    ActiveNode
       物理ホスト名:host01
       仮想ホスト名:host00
    StandbyNode
       物理ホスト名:host02

    host03 から host00 へ ssh できる
    host03# ssh host00
    host00#

(2) Failover時
    StandbyNode
       物理ホスト名:host01
    ActiveNode
       物理ホスト名:host02
       仮想ホスト名:host00

    host03 から host00 へ ssh しようとすると以下のようなメッセージが出て接続できない。

    host03# ssh host00
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @    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 the RSA host key has just been changed.
    The fingerprint for the RSA key sent by the remote host is
    75:86:6f:46:xx:cd:8e:c4:d0:xx:06:a6:9f:c0:xx:12.
    Please contact your system administrator.
    Add correct host key in /.ssh/known_hosts to get rid of this message.
    Offending key in /.ssh/known_hosts:1

    RSA host key for host00 has changed and you have requested strict checking.
    Host key verification failed.
    host03#


    クライアントの(host03) /etc/ssh/ssh_config ファイルの以下のエントリを変更する。
    変更前:#StrictHostKeyChecking ask
    変更後:StrictHostKeyChecking no

    host03# ssh host00
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @    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 the RSA host key has just been changed.
    The fingerprint for the RSA key sent by the remote host is
    75:86:6f:46:xx:cd:8e:c4:d0:xx:06:a6:9f:c0:xx:12.
    Please contact your system administrator.
    Add correct host key in /.ssh/known_hosts to get rid of this message.
    Offending key in /.ssh/known_hosts:1

    Password authentication is disabled to avoid man-in-the-middle attacks.
    Last login: Thu Jul  9 16:45:08 2009 from host03
    Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
    host00# 

    接続はできるがワーニングメッセージが表示されてしまう。
    原因はクライアントにある接続先サーバの公開鍵にある。

    host03: /.ssh/known_hosts
      host01 ssh-rsa AABBCC
      host02 ssh-rsa BBCCDD
      host00 ssh-rsa AABBCC

    host03 から host00 に接続する際 3行目の AABBCC を使用する。
    これは最初に host00 に接続した際に host01(host00) から受け取った公開鍵であるが
    Failoverで host00 が host01 から host02 に切り替わった際も同じく3行目の AABBCC を使用する。
    Failover後の物理ホストは host02 になるので BBCCDD の公開鍵を使用しなければならないが
    公開鍵 AABBCC で接続しようとしているので 公開鍵が変更になっていると警告が出てしまう。


    対策
    
    host03: /.ssh/known_hosts から host00 を削除して再接続する。
      host01 ssh-rsa AABBCC
      host02 ssh-rsa BBCCDD

    再接続すると host00 が自動で追加される。 
      host01 ssh-rsa AABBCC
      host02 ssh-rsa BBCCDD
      host00 ssh-rsa BBCCDD

    仮想ホスト host00 の物理ホストは host02 なので host00=host02(公開鍵)となる
    ※ クライアントに保存されている公開鍵は各サーバの /etc/ssh/ssh_host_rsa_key.pub

    ただこの場合再度 FailBackで host01 に戻すとまた削除しなければならないので以下のように
    仮想ホストを2つエントリしそれぞれの物理ホストの公開鍵を登録すればよい。

      host01 ssh-rsa AABBCC
      host00 ssh-rsa AABBCC
      host02 ssh-rsa BBCCDD
      host00 ssh-rsa BBCCDD



      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google