サーバーホストキーとユーザーホストキーの違い

サーバーホストキーとユーザーホストキーに分かれていますが
同じホストキーを使用してはだめなのでしょうか。
異なるホストキーをご利用ください。
2つのホストキーの違いについては、以下で詳しくご案内いたします。

はじめに

SSH/SFTP でサーバーと接続するためには、サーバーホストキーとユーザーホストキーという2つのホストキーが必要となります。
サーバーホストキーは SFTPサーバーを運用する上で必要となる鍵です。ユーザーホストキーは公開鍵認証で使用する鍵です。
これらのホストキーは、さらに公開鍵と秘密鍵に分かれるため、合計4つの鍵が必要となります。
本記事では、4つの鍵について簡単にご案内いたします。

なお、本記事内の「ユーザー」とはクライアントソフトを使用する端末のことです。
「サーバー」とは Titan で作成した SFTPサーバーのことです。

ユーザーホストキー

多くの方が認識されている公開鍵認証方式で使用するホストキー (キーペア) は、ユーザーホストキーのことです。
秘密鍵公開鍵が存在し、一般的にはキーペアと呼称されています。

本記事では秘密鍵 (ユーザー)公開鍵(ユーザー)と表現してご案内します。

秘密鍵 (ユーザー)

ユーザーが WebDrive などのクライアントソフトにセットして、サーバーへの接続 (ログイン) に使用する鍵です。

通常、この鍵はサーバーおよびサーバーの管理会社に提出する必要はありませんが、社内サーバーとして運用する場合、一般的には管理者が Titan でキーペアを生成・管理します。
ユーザーホストキーを Titan で生成した場合、ユーザーに秘密鍵を提供します。
(参考:公開鍵と秘密鍵を作成する方法 (ユーザーホストキーの生成))

公開鍵 (ユーザー)

ホストキー (キーペア) 生成時に秘密鍵 (ユーザー) と同時に生成されるペアとなる鍵です。

公開鍵認証』でサーバーに接続する場合、公開鍵をサーバーに登録する必要があります。
公開鍵は外部に提供しても問題はありません。外部で生成した場合、Titan の管理者はユーザーから公開鍵を受け取って Titan に登録します。
(参考:外部で生成した公開鍵を使用する)

ユーザーホストキーを Titan で生成した場合、SSHユーザーホストキーに登録します。
SSHユーザーホストキーの登録

サーバーホストキー

Titan が SSH/SFTP プロトコル (サービス) を使用するために必要な鍵です。

Titan で SFTPサーバーを新規作成する際に「デフォルトのSSH ホストキー」という名前で自動生成されるため、あまり意識する必要はありません。
ここでは、秘密鍵 (サーバー)公開鍵(サーバー)と表現してご案内します。

秘密鍵 (サーバー)

秘密鍵を使用して自身を証明し、なりすましを防止します。
この秘密鍵はユーザーが使用するものではないため、外部に送信・公開してはいけません。

サーバー管理者は初回の作成時以外はこの鍵を気にする必要はありません。

公開鍵 (サーバー)

秘密鍵 (サーバー) のペアとなる鍵で、秘密鍵と同時に生成されます。

Titan は SSH/SFTP サーバーであることを証明するために、ユーザーとの接続時に公開鍵 (サーバー) をユーザーに提供しますが、管理者による操作は不要です。

クライアントソフトは、初回接続時にサーバーホストキーの公開鍵を要求し検証が行われます。
信用できる接続先であれば [受け入れる] をクリックしてください。それ以外にユーザー側で操作をする必要はありません。
(参考:サーバーホストキーの検証|WebDrive)
サーバーホストキーの検証

以降の接続時には自動的に検証されますが、ホストキーが変更されるとクライアントソフトが警告画面を表示します。

ホストキーを使用する上での注意点

  • サーバーホストキーはクライアントユーザを含む外部に送信・公開してはいけません。
  • クライアントから提出された公開鍵は、インポートした後ユーザーホストキーに登録してください。サーバーホストキーとしては登録しないでください。
  • クライアントユーザーから秘密鍵の提供が要求された場合、管理者はユーザーホストキーで使用する秘密鍵を提供してください。