FreeBSD10.3: Could not load host key: /etc/ssh/ssh_host_ecdsa_key

またまた、/var/log/messages に

Could not load host key: /etc/ssh/ssh_host_ecdsa_key

というエラーが記録されてることに気づきました。
この現象は以前にも FreeBSD 8.3 → 8.4 に更新した後、一台のサーバーで発生し、その時は、30 分おきに  /var/log/messages に記録されていました。
この時は、sshd のコンフィグレーションが新しくなっており、実際 ssh_host_ecdsa_key が存在していなかったため、エラーが発生することは正常でした。この時は、host key を生成して解決。

今回は、ssh_host_ecdsa_key が存在しているにもかかわらずエラーが発生しており、発生するタイミングは sshd  が使用される時だけのようです。

# service sshd restart
Performing sanity check on sshd configuration.
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Stopping sshd.
Waiting for PIDS: 1176.
Performing sanity check on sshd configuration.
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Starting sshd.
Could not load host key: /etc/ssh/ssh_host_ecdsa_key

サービスを起動したり、ssh でホストに接続しようとするタイミングでエラーが記録され、ssh でのリモート接続に影響はありません。おそらく使えないアルゴリズムは捨てて、別のアルゴリズムのキーを使っているんでしょう。

では、どうするか?

前回発生した現象に関してはたくさん方があるのですが、host key ファイルが存在しているのに “Could not load host key” になる情報を見つけるのはキーワード的に難しい。

そして、安易な方法に頼ることにしました。

  1. /etc/ssh/ssh_host_ecdsa_key を消す
  2. sshd を再起動する。
# service sshd restart
Performing sanity check on sshd configuration.
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Stopping sshd.
Generating ECDSA host key.
256 SHA256:6VHd+37oQ+7xRoHwTHFn64EUjUOOfEGL8MoT+zMxC0E root@ome.lifewithunix.jp (ECDSA)
Performing sanity check on sshd configuration.
Starting sshd.

この方法で良かったようで、sshd が起動するタイミングで新しい ssh_host_ecdsa_key が生成され、エラーが出なくなりました。

ファイルが存在しているのだから、wrong key とか currupted key など、もっとわかりやすいメッセージを出して欲しいものです。

コメントを残す