Linuxインスタンスでのキー・ペアの管理
Oracle Linux、CentOSまたはUbuntuイメージを使用して起動されたインスタンスは、パスワードではなくSSHキー・ペアを使用してリモート・ユーザーを認証します(セキュリティ資格証明を参照)。キー・ペアは、秘密キーと公開キーで構成されます。秘密キーはコンピュータに保持し、公開キーはインスタンスの作成時に指定します。SSHを使用してインスタンスに接続するときに、SSHコマンドで秘密キーのパスを指定します。
OpenSSHを使用してインスタンスに接続する場合、インスタンスの作成時にOracle Cloud Infrastructureによって生成されたキー・ペアを使用できます。OpenSSHは、通常、UNIXベースのシステム(LinuxおよびOS Xを含む)、Windows 10およびWindows Server 2019にインストールされています。
Oracleでは、コンソールによって生成された秘密キーのコピーは格納されません。したがって、インスタンスに接続するには秘密キーのコピーを保持する必要があります。秘密キーを使用しない場合、インスタンスに接続する唯一の方法は、新しい秘密キーを使用して新しいインスタンスを作成することです。
必要に応じていくつものキー・ペアを使用することも、単純にするために、すべてのインスタンスまたは複数のインスタンスで1つのキー・ペアを使用することもできます。
独自のキー・ペアを作成するには、UNIXスタイル・システム(Linux、Solaris、BSD、OS Xを含む)のOpenSSHやWindowsのPuTTYキー・ジェネレータなどのサードパーティ・ツールを使用します。
秘密キーにアクセスできるすべてのユーザーがインスタンスに接続できます。秘密キーはセキュアな場所に格納してください。
必要なSSH公開キーの形式
独自のキー・ペアを指定する場合は、OpenSSH形式を使用する必要があります。
公開キーの形式は次のとおりです:
<key_type> <public_key> <optional_comment>
たとえば、RSA公開キーは次のようになります:
ssh-rsa AAAAB3BzaC1yc2EAAAADAQABAAABAQD9BRwrUiLDki6P0+jZhwsjS2muM...
...yXDus/5DQ== rsa-key-20201202
プラットフォーム・イメージの場合、RSA、DSA、DSS、ECDSAおよびEd25519のSSHキー・タイプがサポートされます。独自のイメージを導入する場合は、サポートされているSSHキー・タイプの管理の責任を負います。
RSA、DSSおよびDSAキーの場合は、最小2048ビットをお薦めします。ECDSAキーには、最小256ビットをお薦めします。
開始前
- UNIX形式のシステムを使用している場合は、
ssh-keygen
ユーティリティがすでにインストールされている可能性があります。ユーティリティがインストールされているかどうかを確認するには、コマンドラインでssh-keygen
と入力します。インストールされていない場合は、http://www.openssh.com/portable.htmlからOpenSSH for UNIXをダウンロードしてインストールできます。 - Windowsオペレーティング・システムを使用している場合は、PuTTYおよびPuTTYキー・ジェネレータが必要です。PuTTYおよびPuTTYgenをhttp://www.putty.orgからダウンロードして、インストールします。
- SSHフォルダおよびキーの権限が次のようになっていることを確認します:
- SSHフォルダは700である必要があります
- 公開キーは644であることが必要です
- 秘密キーは400であることが必要です
コマンドラインでのSSHキー・ペアの作成
- コマンドを入力するためのシェルまたはターミナルを開きます。
-
プロンプトで、
ssh-keygen
と入力し、要求されたらキーの名前を指定します。オプションで、パスフレーズを含めます。デフォルトのキー値(2048ビットのRSAキー)を使用してキーが作成されます。
または、次のように完全なssh-keygen
コマンドを入力することもできます:
ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>
次の表に、コマンド引数を示します:
引数 | 説明 |
---|---|
-t rsa
|
RSAアルゴリズムを使用します。 |
-N "<passphrase>"
|
キーの使用を保護するためのパスフレーズ(パスワードなど)。パスフレーズを設定しない場合は、引用符の間に何も入力しないでください。 パスフレーズは必須ではありません。これをセキュリティ対策として指定して、権限のない使用から秘密キーを保護できます。パスフレーズを指定する場合、インスタンスに接続するときにパスフレーズを指定する必要があります。これにより、通常、インスタンスへの接続の自動化が困難になります。 |
-b 2048
|
2048ビット・キーを生成します。2048はデフォルトであるため、この値で問題なければ設定する必要はありません。 SSH-2 RSAには最低でも2048ビットをお薦めします。 |
-C "<key_name>"
|
キーを識別する名前。 |
-f <path/root_name>
|
キー・ペアが保存される場所と、ファイルのルート名。 |
PuTTYキー・ジェネレータを使用したSSHキー・ペアの作成
- コンピュータの「PuTTY」フォルダ(
C:\Program Files (x86)\PuTTY
など)で、puttygen.exe
を検索します。puttygen.exe
をダブルクリックして開きます。 -
SSH-2 RSAのキー・タイプと2048ビットのキー・サイズを指定します:
- 「Key」メニューで、デフォルト値の「SSH-2 RSA key」が選択されていることを確認します。
- 「Type of key to generate」で、デフォルト・キー・タイプの「RSA」を受け入れます。
- 「Number of bits in a generated key」がまだ設定されていない場合、2048に設定します。
- 「Generate」をクリックします。
-
PuTTYウィンドウの空白領域でマウスを動かすと、キーのランダム・データが生成されます。
キーが生成されると、「Public key for pasting into OpenSSH authorized_keys file」に表示されます。
- 日付とタイムスタンプを含む「Key comment」が自動的に生成されます。デフォルトのコメントのままにすることも、よりわかりやすい独自のコメントで置き換えることもできます。
- 「Key passphrase」フィールドは空白のままにします。
-
「Save private key」をクリックし、パスフレーズを使用しないキーの保存に関するプロンプトで、「Yes」をクリックします。
キー・ペアは、PuTTYツール・セットでのみ動作する製品固有の形式であるPuTTY Private Key (PPK)形式で保存されます。
キーには任意の名前を付けることができますが、
ppk
ファイル拡張子を使用してください。たとえば、mykey.ppk
です。 -
「Public key for pasting into OpenSSH authorized_keys file」に表示されているすべての生成キーを選択し、[Ctrl] + [C]を使用してコピーし、テキスト・ファイルに貼り付けてから、秘密キーと同じ場所にそのファイルを保存します。
(「Save public key」ではキーがOpenSSH形式で保存されないため、使用しないでください。)
キーには任意の名前を付けることができますが、一貫性を維持するため、秘密キーと同じ名前を付け、
pub
ファイル拡張子を使用してください。たとえば、mykey.pub
です。 - 公開キーおよび秘密キー・ファイルの名前と場所を書き留めます。インスタンスの起動時に、公開キーが必要になります。SSH経由でインスタンスにアクセスするには、秘密キーが必要になります。
キー・ペアが作成されました。これで、インスタンスの作成の説明に従って、インスタンスを起動できるようになりました。