翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
キーの管理
このセクションでは、SSH キーを生成する方法とローテーションする方法について説明します。
AWS Transfer Familyは RSA、ECDSA、および ED25519 キーを受け入れます。
ユーザーキーとサーバーキーでサポートされるアルゴリズム
次の主要なアルゴリズムは、内で使用するためにサポートされていますAWS Transfer Family:
-
ED25519 の場合:
ssh-ed25519
-
RSA の場合:
-
rsa-sha2-256
-
rsa-sha2-512
-
-
ECDSA の場合:
-
ecdsa-sha2-nistp256
-
ecdsa-sha2-nistp384
-
ecdsa-sha2-nistp521
-
私たちはサポートしますssh-rsa
古いセキュリティポリシーにSHA1を使用 (を除くすべてのポリシーTransferSecurityPolicy-2022-03).
SSH キーを生成する
サーバーをセットアップする際、サービスで管理された認証方法でユーザーを認証するよう設定できます。この方法では、ユーザー名と SSH キーは、サービスに保存されます。ユーザーのパブリック SSH キーは、ユーザーのプロパティとしてサーバーにアップロードされます。このキーは、キーベースの標準認証プロセスの一部としてサーバーによって使用されます。各ユーザーに対し、個々のサーバーに複数のパブリック SSH キーを登録できます。ユーザーごとに保存できるキーの数の制限については、AWS 全般リファレンスの「AWS サービスクォータ」を参照してください。
サービスマネージド認証方法の代わりに、カスタム ID プロバイダーを使用してユーザーを認証することもできます。これにより、Amazon API Gateway エンドポイントを使用して既存の ID プロバイダーをプラグインすることができます。詳細については、「API Gateway メソッドを使用した認証」を参照してください。
サーバーがユーザー認証に使用できる方法は 1 つのみ (サービスマネージドまたはカスタム ID プロバイダー) であり、サーバーの作成後にそのメソッドを変更することはできません。
macOS、Linux、または UNIX で SSH キーを作成する
macOS、Linux、または UNIX のオペレーティングシステムでは、ssh-keygen
コマンドを使用して、キーペトと呼ばれる SSH パブリックキーと SSH プライベートキーを作成します。
macOS、Linux、または UNIX のオペレーティングシステムで SSH キーを作成するには
-
macOS、Linux、または UNIX でコマンドターミナルを開きます。
-
AWS Transfer Familyは、RSA、ECDSA、および ED25519 形式のキーを受け入れます。生成するキーペアのタイプに基づいて、適切なコマンドを選択します。
-
RSA 4096 ビットkey pair を生成するには、次の手順を実行します。
ssh-keygen -t rsa -b 4096 -N "" -f
key_name
-
ECDSA 521 ビットキーペア (ECDSA のビットサイズは 256、384、および 521) を生成するには、次の手順を実行します。
ssh-keygen -t ecdsa -b 521 -N "" -f
key_name
-
ED25519 key pair を生成するには、次の手順を実行します。
ssh-keygen -t ed25519 -N "" -f
key_name
注記
は SSH キーペアファイル名です。key_name
ssh-keygen
出力の例を以下に示します。ssh-keygen -t rsa -b 4096 -N "" -f key_name Generating public/private rsa key pair. Your identification has been saved in key_name. Your public key has been saved in key_name.pub. The key fingerprint is: SHA256:8tDDwPmanTFcEzjTwPGETVWOGW1nVz+gtCCE8hL7PrQ bob.amazon.com The key's randomart image is: +---[RSA 4096]----+ | . ....E | | . = ... | |. . . = ..o | | . o + oo = | | + = .S.= * | | . o o ..B + o | | .o.+.* . | | =o*+*. | | ..*o*+. | +----[SHA256]-----+
-
-
.pub ファイルを見つけて開きます。key_name
-
テキストをコピーして [SSH public key] (SSH パブリックキー) に貼り付けます。
上記の ssh-keygen
コマンドを実行すると、現在のディレクトリにパブリックキーとプライベートキーが作成されます。
Microsoft Windows での SSH キーの作成
Windows で使用される SSH キーペア形式は、わずかに異なります。パブリックキーは PUB
形式、プライベートキーは PPK
形式である必要があります。Windows では、PuTTYgen を使用すれば正しい形式の SSH キーペアが作成できます。PuTTYgen を使用して、ssh-keygen
で生成されたプライベートキーを .ppk ファイルに変換することもできます。
WinSCP に .ppk 形式でないプライベートキーファイルを提示すると、そのクライアントによって .ppk 形式への変換が提案されます。
Windows で PuTTYgen を使用して SSH キーを作成する方法のチュートリアルは、SSH.com ウェブサイト
SSH キーのローテーション
セキュリティ上、ベストプラクティスとして SSH キーのローテーションをお勧めします。通常、このローテーションは、セキュリティポリシーの一部として指定され、自動化した形で実装されます。セキュリティのレベルに応じて、機密性の高い通信では、SSH キーペアが 1 回しか使用されない場合もあります。これにより、キーを保存することのリスクがなくなります。ただし一般的には、SSH 認証情報を一定期間にわたって保存し、その期間をユーザーに過度の負荷がかからないような長さに設定するのが普通です。標準的な設定は 3 か月です。
SSH キーのローテーションを実行するには、2 つの方法があります。
-
コンソールで新しい SSH パブリックキーをアップロードすると既存の SSH 公開キーを削除できます。
-
API を使用して、DeleteSshPublicKeyユーザーの Secure Shell (SSH) パブリックキーおよびImportSshPublicKeyユーザーアカウントに新しいセキュアシェル (SSH) パブリックキーをユーザーアカウントに追加する API。