

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
はじめに
このページでは userknownhostsfile という言葉を分かりやすく解説します。初心者の方が混乱しやすい SSH の世界でよく出てくる「known_hosts」というファイルの話題を、日常の言葉に置き換えながら丁寧に説明します。結論だけ知りたい人のために要点を最初にまとめると、userknownhostsfile は各ユーザーの秘密の鍵リストを守るためのファイルです。ここでは場所や役割、使い方、そして鍵が変わったときの対応について順を追って見ていきます。
userknownhostsfileとは何か
実務的には ホームディレクトリの .ssh/known_hosts に保存されるファイル を指すことが多いです。SSH に接続するとき、相手のサーバの公開鍵をこのファイルに保存しておき、次回以降の接続時に同じ鍵かどうかを比べて安全性を確保します。もしサーバの鍵が変わっていた場合には警告が出るため、なりすましや MITM 攻撃の兆候を早く見つけることができます。
主な役割
過去に接続したサーバの鍵情報を覚えておくことが主な役割です。これにより、未知のサーバと無断でやり取りするリスクを減らし、信頼できる接続だけを許可する助けになります。
場所と構成
通常は ユーザー単位で ~/.ssh/known_hosts に保存されています。複数のユーザーが使う環境では各自のファイルが分かれます。システム全体で共有される鍵のリストとして /etc/ssh/ssh_known_hosts というファイルも存在します。
基本的な使い方
新しいサーバの鍵を追加したいときは公開鍵を取得してファイルに追加します。代表的なコマンドは次のとおりです。
コマンド例: ssh-keyscan example.com >> ~/.ssh/known_hosts
既に記録されている鍵を確認する場合は次のコマンドを使います。結果に表示される鍵情報が接続先と一致するかを確認します。
コマンド例: ssh-keygen -F example.com
もしホストの鍵が突然変わった場合には以下の対処を取ります。まず原因を確認し、正しい鍵かどうかを判断してから対応します。
コマンド例: ssh-keygen -R example.com
新しい鍵を受け入れる場合は再度 ssh-keyscan で取得して ~/.ssh/known_hosts に追記します。
鍵が変わったときの注意点
鍵の変更には正当な理由と確認が必要です。たとえばサーバの再設定や移転などが原因のこともありますが、理由を確かめずに新しい鍵をそのまま受け入れると安全性が落ちてしまう可能性があります。必ず運用マニュアルやサーバ管理者に確認しましょう。
表で見るファイルの役割
| ファイル | 説明 |
|---|---|
| ~/.ssh/known_hosts | 各ユーザーのホスト鍵を個別に管理 |
| /etc/ssh/ssh_known_hosts | 全体で共有される鍵情報を管理 |
安全に管理するコツ
定期的に鍵の状態を確認し、怪しい接続がないか監視します。SSH の設定ファイルを別の場所に指定しておくと誤って他人の鍵を編集するリスクを減らせます。鍵を削除する場合は ssh-keygen -R host を使い、不要なエントリを確実に取り除きましょう。
実務での運用例
現場では定期的に known_hosts を点検する運用が行われます。長期間使わないサーバのエントリは削除するのが基本です。新しいサーバを追加する際には、必ず公式の鍵情報を確認してから追加します。自動化ツールを使って検証プロセスを統一すると安心です。
よくある質問
Q1 userknownhostsfile は必ず ~/.ssh/known_hosts にあるのか。A1 基本的にはそうですが環境によっては別の場所を使うこともあります。
Q2 鍵が変わったときの安全な対処法はどうするのか。A2 鍵の出所を確認して信頼できる場合のみ新しい鍵を受け入れます。
まとめ
このように userknownhostsfile はセキュアな接続を守るための“鍵情報のリスト”を扱うファイルです。正しい場所に保存され、定期的に点検することで、知らない相手と安易に通信してしまうリスクを減らせます。初心者の方はまず自分のホームディレクトリの .ssh ディレクトリを探し、known_hosts の存在を確認してみましょう。
userknownhostsfileの同意語
- ユーザー別の known_hosts ファイル
- SSH 接続先のホスト鍵情報を、各ユーザーごとに保存するファイル。ホストの公開鍵が登録され、信頼性を確認する際に参照される。
- ユーザー用 known_hosts ファイル
- 個々のユーザーが使用する known_hosts ファイル。自分の接続履歴や信頼性の管理に使われる。
- ユーザー固有の known_hosts ファイル
- そのユーザーだけに割り当てられた、個人用の known_hosts ファイル。
- ホームディレクトリの known_hosts ファイル
- ユーザーのホームディレクトリ内にある known_hosts ファイルで、個人の SSH 既知ホスト情報を保存する場所。
- 個人用 known_hosts ファイル
- 特定の個人(ユーザー)向けの known_hosts ファイル。
- ~/.ssh/known_hosts ファイル
- 最も一般的なパス表記。個々のユーザーの SSH 既知ホスト情報が格納されるファイル。
- SSH の known_hosts ファイル(ユーザー用)
- SSH の既知ホスト情報を、ユーザー単位で管理するファイル。
- ローカルユーザーの known_hosts ファイル
- ローカル環境の各ユーザーに紐づく known_hosts ファイル。
- ユーザーの既知ホストファイル
- 接続済みで“既知”と認識されているホストの情報を記録したファイル。
- 既知ホストファイル(ユーザー用)
- ユーザー用に分離された、既知ホスト情報を格納するファイル。
- SSH ホスト鍵保存リスト(ユーザー別)
- SSH 接続時にホスト鍵を保存・参照するリストで、ユーザーごとに分かれている。
- ユーザー固有の SSH ホスト鍵保存リスト
- 特定のユーザーに紐づく、SSH ホスト鍵の保存リスト。
- ユーザー用 SSH の既知ホストリストファイル
- SSH の既知ホスト情報を格納するファイルで、ユーザー用として扱われる。
userknownhostsfileの対義語・反対語
- systemwide_known_hosts_file
- システム全体で共有され、全ユーザーが共通して参照する known_hosts ファイル。SSH の設定では通常 /etc/ssh/ssh_known_hosts がこれに相当します。
- global_known_hosts_file
- グローバルに適用される known_hosts ファイル。個々のユーザーの設定に依存せず、マシン全体で使われるイメージの名前です。
- root_user_known_hosts_file
- root ユーザー専用の known_hosts ファイル。例: /root/.ssh/known_hosts。個別ユーザーではなく root 用の対抗概念です。
- machine_wide_known_hosts_file
- マシン全体で使われる知っているホスト情報のファイル。システムレベルのファイルと同義的に扱われます。
- non_user_known_hosts_file
- ユーザー個別ではなく、システム全体など別のレベルで管理される known_hosts ファイルの概念。
- unknown_hosts_file
- まだ『知っている』とされていないホスト情報を格納するファイルのイメージ。known_hosts の対義語的な着想としての説明です。
userknownhostsfileの共起語
- UserKnownHostsFile
- SSH クライアントが接続時に相手ホストの公開鍵を記録・検証するファイル。通常は自分のアカウントの ~/.ssh/known_hosts を指す設定。
- KnownHostsFile
- 公開鍵の検証に使われる“既知のホスト情報”を格納するファイルを指す、SSH の設定項目名。
- GlobalKnownHostsFile
- 全ユーザー共通で使われる known_hosts ファイルの設定。例として /etc/ssh/ssh_known_hosts が挙げられる。
- KnownHosts
- 既知のホスト情報を保存および参照するファイル群の総称。複数ファイルを指す場合がある。
- ~/.ssh/known_hosts
- ホームディレクトリの .ssh にある既知ホストファイル。接続時の鍵検証情報を格納するデフォルトファイル。
- /etc/ssh/ssh_known_hosts
- システム全体で共有される既知ホストファイル。全ユーザーの公開鍵情報を格納。
- OpenSSH
- SSH の代表的な実装のひとつ。コマンド ssh などを提供するソフトウェア。
- SSH
- Secure Shell の略。安全なリモートログインを実現する通信プロトコルとツールの総称。
- SSH client
- サーバへ接続を開始する側のソフトウェア(例: ssh コマンド)。
- SSH server
- 接続を受け付ける側のソフトウェア(例:sshd)。
- host key
- サーバの公開鍵。ホストの身元を証明する重要な鍵。
- host key verification
- 接続時にホストの鍵が既知情報と一致するかを確認する処理。
- fingerprint
- 公開鍵の要約情報である指紋。人間が識別しやすい形で表示される。
- SSH fingerprint
- サーバの公開鍵の指紋。信頼性を確認するために使う。
- RSA
- 公開鍵アルゴリズムの代表の一つ。
- DSA
- 旧来の公開鍵アルゴリズム。現在は推奨されないことが多い。
- ECDSA
- 楕円曲線を用いる公開鍵アルゴリズムの一種。
- ED25519
- 楕円曲線 Ed25519 を用いた公開鍵アルゴリズム。高速・安全性が高いとされる。
- HostKeyAlgorithms
- SSH がサポートするホスト鍵のアルゴリズムを列挙する設定項目。
- StrictHostKeyChecking
- 新しいホストや鍵の変更時の挙動を決める設定。yes/no/accept-new など。
- HashKnownHosts
- ホスト名をハッシュ化して known_hosts に保存する設定。
- Hash known hosts
- ホスト名をハッシュ化して保存することの説明。アクセス時のプライバシーを守る。
- Host mismatch
- 接続時にサーバの鍵が既知の鍵と一致しない状態。警告や接続拒否の原因になる。
- SSH config
- SSH の設定ファイル。個々のホストや全体の挙動を設定するファイル。
- ssh_config
- SSH のクライアント設定ファイルの名称。コマンドに対応する設定を記述する。
- ssh-keyscan
- 遠隔ホストの公開鍵を取得して known_hosts に追加するツール。
- ssh-keygen
- SSH 鍵を生成・管理するツール。
- trust
- 鍵検証の結果に基づく信頼の度合い。
userknownhostsfileの関連用語
- UserKnownHostsFile
- OpenSSHのクライアント設定オプション。ユーザーごとの信頼済みホスト情報を格納するファイルのパスを指定。通常は ~/.ssh/known_hosts。
- GlobalKnownHostsFile
- システム全体で共有する信頼済みホスト情報を格納するファイルのパスを指定。通常は /etc/ssh/ssh_known_hosts。
- HostKey
- サーバが提示する公開鍵そのもの。ホストの真正性を検証する鍵データ。
- HostKeyAlgorithms
- 接続相手の公開鍵アルゴリズムの許可リスト。例として ssh-ed25519, rsa-sha2-512 など。
- RSA
- RSA は従来型の公開鍵アルゴリズム。現在は ED25519 などの方が推奨されることが多い。
- ECDSA
- 楕円曲線を用いる公開鍵アルゴリズムの一種。高効率で安全性を確保する。
- ED25519
- 現代的で高速な公開鍵アルゴリズム。SSH で広く用いられる推奨鍵タイプ。
- SSHFP
- DNS にホスト鍵の指紋を公開する DNS レコード。DNSSEC と組み合わせて利用することがある。
- HashKnownHosts
- known_hosts に格納されるホスト名をハッシュ化して保存する設定。プライバシー保護に有効。
- StrictHostKeyChecking
- 未知のホストや変更があった場合の検証動作を決める設定。yes/ask/no の選択肢がある。
- TOFU
- Trust On First Use の略。初回接続時にホストを信頼して以降の検証を行う考え方。
- Fingerprint
- ホスト鍵の指紋。SHA-256 などで表され、鍵の正当性を人が確認する手掛かりとなる。
- ssh-keygen
- SSH 鍵や known_hosts の管理を行うツール。エントリの削除 -R、検索 -F、指紋表示 -l などが使える。
- ssh-keyscan
- リモートホストの公開鍵を取得して known_hosts に追加するためのツール。
- ssh_config
- SSH クライアントの設定ファイル。UserKnownHostsFile などのオプションを設定する。
- sshd_config
- SSH サーバの設定ファイル。ホスト鍵の場所、認証方式、アクセス制限などを定義する。
- FirstTimeConnectionPrompt
- 初回接続時に表示される信頼性確認メッセージ(例 The authenticity of host ... can't be established)。
- Permissions
- known_hosts ファイルの推奨権限は 600、.ssh ディレクトリは 700。第三者による鍵情報へのアクセスを防ぐ。
- MITM_Risk
- StrictHostKeyChecking を適切に設定せず機能を緩めると、中間者攻撃(MITM)のリスクが高まる。



















