known hosts

提供: セキュリティ
2014年11月21日 (金) 23:10時点におけるDaemon (トーク | 投稿記録)による版 (関連項目)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

sshでは、2回目のログインからホスト認証が自動的に行われます。この認証では、ホスト鍵が利用されます。sshknown_hosts とは、サーバのホスト鍵(host key)の1つのホスト公開鍵を登録するファイルです。

読み方

known_hosts
のうん ほすつ

概要

sshの認証は、ユーザ認証の前に、ホスト認証が実行されます。 ホスト認証は、ホスト鍵によって行われます。

はじめてログインするホストのホスト鍵は、ユーザは通常は持っていないため、known_hostsに追加するか、sshコマンドによって確認されます。2回目以降のログインについては、known_hostsにホスト鍵が登録されているため、sshコマンドによって、自動的にホスト認証が実施されます。

ホストAのホスト鍵をバックアップせずに、OSをインストールしなおした場合、ホスト鍵が失われてしまうため、新しいホスト鍵のペアが作成されます。このとき、ホストAにログインしていたユーザは、ホスト鍵が変更されてしまったので、OS再インストール後にログインしようとするとホスト鍵が一致しないため、ホスト認証が失敗するため、sshコマンドは、ホスト鍵が一致しないが、ログインするか、といった確認をしてきます。

OS再インストールなどによってホスト鍵が変更される場合には、古いホスト鍵をknown_hostsから削除して、新しい鍵を登録する必要があります。

新しいホストは、自動的にユーザファイルに追加されます。もし、ホストの身元確認が変更されているなら、サーバスプーフィングや中間者攻撃から守るためにパスワード認証を無効化します。

known_hostsからホストを削除する

ssh-keygenコマンドを使用して、ホスト鍵を削除できます。viなどのエディタでも削除できますが、ssh-keygenのほうが簡単です。

ssh-keygen -R foo.local

known_hosts2

古いOpenSSHのバージョン1とバージョン2で異なるknown_hostsのファイルを使用していました。SSHバージョン2では、known_hosts2のファイルを以前は利用されていましたが、現在のOpenSSHでは、known_hostsに統合されています。

関連項目




スポンサーリンク