SSH キーの生成 - AWS Transfer for SFTP

SSH キーの生成

SFTP サーバーをセットアップする際、サービスで管理された認証方法でユーザーを認証するよう設定できます。この方法では、ユーザー名と SSH キーは、サービスに保存されます。ユーザーのパブリック SSH キーは、ユーザーのプロパティとして SFTP サーバーにアップロードされます。ユーザーがファイル転送をリクエストすると、SFTP クライアントによってユーザー名とプライベートキーが SFTP サーバーへと送信され、そこで検証されます。検証後、SFTP ファイル操作が行われます。各ユーザーに対し、個々のサーバーに複数のパブリック SSH キーを登録できます。各ユーザーに対して保存できるキーの上限数については、AWS 全般のリファレンスにある「AWS Transfer for SFTP Limits」を参照してください。

SFTP サーバーでは、ユーザーの認証に 1 つのメソッドしか使えず、サーバーの作成後にメソッドを変更することはできません。SSH キーの代わりに、カスタム ID プロバイダーを使ってユーザーを認証する方法もあります。この方法なら、API Gateway エンドポイントを使って既存の ID プロバイダーをプラグインすることができます。このトピックの詳細については、「カスタム ID プロバイダーの使用」を参照してください。

SSH キーペアを作成する方法は複数あります。macOS、Linux、UNIX の各オペレーティングシステムでは、コマンドラインインターフェイスで ssh-keygen コマンドを使用して作成できます。以下のコマンドを使った ssh-keygen の出力例をご紹介します。

ssh-keygen -P "" -f key_name

上記の ssh-keygen コマンドを実行すると、現在のディレクトリにパブリックキーとプライベートキーが作成されます。

Windows での SSH キーの作成

Windows で使用される SSH キーペア形式は、わずかに異なります。パブリックキーは PUB 形式、プライベートキーは PPK 形式である必要があります。Windows では、PuTTYgen を使用すれば正しい形式の SSH キーペアが作成できます。PuTTYgen を使用して、ssh-keygen で生成されたプライベートキーを PPK ファイルに変換することもできます。PPK 形式でないプライベートキーファイルを WinSCP に提示した場合、SFTP クライアントによって PPK 形式への変換が提案されます。

Windows で PuTTYgen を使用して SSH キーを作成する方法のチュートリアルは、SSH.com ウェブサイトにあります。