「known hosts」の版間の差分
(→関連項目) |
|||
行24: | 行24: | ||
古い[[OpenSSH]]のバージョン1とバージョン2で異なるknown_hostsのファイルを使用していました。SSHバージョン2では、[[known_hosts2]]のファイルを以前は利用されていましたが、現在の[[OpenSSH]]では、[[known_hosts]]に統合されています。 | 古い[[OpenSSH]]のバージョン1とバージョン2で異なるknown_hostsのファイルを使用していました。SSHバージョン2では、[[known_hosts2]]のファイルを以前は利用されていましたが、現在の[[OpenSSH]]では、[[known_hosts]]に統合されています。 | ||
== 関連項目 == | == 関連項目 == | ||
+ | * [[sshのホスト鍵を無視する方法]] | ||
* [[ssh]] | * [[ssh]] | ||
* [[中間者攻撃]] | * [[中間者攻撃]] | ||
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2014年11月21日 (金) 23:10時点における最新版
sshでは、2回目のログインからホスト認証が自動的に行われます。この認証では、ホスト鍵が利用されます。sshのknown_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に統合されています。