マルチブートなサーバへのSSH接続での誤判定を回避
sshdが稼働しているマシンでは(おそらくインストール直後の初回起動時に)/etc/sshディレクトリ配下に以下のファイル群が生成される。
[hoge@localhost ssh]$ ll 合計 180 -rw------- 1 root root 132839 8月 2 2005 moduli -rw-r--r-- 1 root root 1550 8月 2 2005 ssh_config -rw------- 1 root root 668 5月 21 13:59 ssh_host_dsa_key -rw-r--r-- 1 root root 590 5月 21 13:59 ssh_host_dsa_key.pub -rw------- 1 root root 515 5月 21 13:59 ssh_host_key -rw-r--r-- 1 root root 319 5月 21 13:59 ssh_host_key.pub -rw------- 1 root root 883 5月 21 13:59 ssh_host_rsa_key -rw-r--r-- 1 root root 210 5月 21 13:59 ssh_host_rsa_key.pub -rw------- 1 root root 3059 8月 2 2005 sshd_config
ところがこれらはマルチブートマシンの場合、それぞれのOSで生成されてしまうため異なる公開鍵を持つことになり、reboot後に別OSに接続しにいくと、「man-in-the-middle attack」とsshクライアント側で判定されてしまい接続できない。
これを回避する方法として、クライアント側の$HOME/.ssh/known_hostsファイルを消すという方法もあるけれども面倒。。
この場合は、それぞれのOSが同じ鍵を持っていれば良いので、別OSのファイルシステムをどこかにmountして、鍵ファイル群をコピーして共用してあげれば良い。