サーバーにリモート接続するためのSSHプロトコルは、パスワードベースのログインの代わりにキーペアを使用することをサポートしています。秘密鍵は接続を開始するマシン(通常はワークステーション)に存在し、公開鍵はリモートサーバーのユーザーアカウントに存在します。接続を試みると、公開鍵と秘密鍵が連携してユーザーを認証します。
キーペア認証は、パスワードベースの認証よりも安全です。同じマシンから定期的に接続する場合は、SSHを介したパスワードベースの認証を無効にし、キーペア認証のみを許可することで、ブルートフォースログインの試行からサーバーを保護します。
SSHを使用してサーバーに接続する方法の詳細については、次の記事を参照してください。
- Linux®コマンドラインまたはmacOS®Xターミナルでのキーの接続と生成については、LinuxまたはMacOSでSSHを使用してサーバーに接続するを参照してください。
- Microsoft®Windows®でPuTTY®を使用してSSH接続を確立する方法については、「PuTTYを使用したWindowsからLinuxへの接続」を参照してください。
- WindowsでPuTTYgen®を使用してキーペアを生成する方法については、SSHを使用したRSAキーの生成-PuTTYgen を参照してください。
この記事では、python-novaclientコマンドラインツールを使用してキーペアを生成し、サーバーの作成時にその公開キーをLinux®サーバーに割り当てる方法について説明します。
CloudServersAPIを使用してキーペアを直接管理することもできます。
python-novaクライアントをインストールします クライアントコンピューター上。クライアントを構成するための詳細な手順については、RackspaceCloudでのpython-novaclientの使用を参照してください。
keypair
python-novaclientのコマンド 既存のキーペアを作成またはアップロードし、ビルド操作で参照できる名前に関連付けます。
keypair-add
を使用して、新しいキーペアを作成できます nova
のコマンド キーペアの名前を引数としてバイパスします。 APIオペレーションは、公開キーをユーザープロファイルに保存します。コマンドの出力は秘密鍵です。
たとえば、mykey
という名前のキーペアを作成するには .ssh内のファイルに出力します 現在のユーザーのディレクトリで、次のコマンドを実行できます:
nova keypair-add mykey > ~/.ssh/webserver_rsa
注 :キーファイルに任意の名前を付けて、後で使用できる場所に配置します。サーバーごとに複数のキーを生成する場合は、サーバーにちなんでキーファイルに名前を付けると便利です。
プロファイルには公開鍵のみが存在します。秘密鍵を紛失した場合は、新しい鍵ペアを生成する必要があります。
すでに生成されたキーペアがある場合は、keypair-add
を使用して公開キーをプロファイルに追加できます。 nova
のコマンド --pub-key
を使用 次の例に示すように、オプション:
nova keypair-add --pub-key id_rsa.pub mykey
プロファイルに関連付けられているキーを一覧表示するには、keypair-list
を使用します nova
のコマンド 、次の例に示すように:
nova keypair-list
リスト内の特定の公開鍵の詳細を表示するには、keypair-show
を使用します nova
のコマンド 次の例に示すように、キーペアを割り当てた名前を参照します。
nova keypair-show mykey
このコマンドを使用して、別のサーバーで使用する公開鍵を取得できます。
プロファイルから公開鍵を削除するには、keypair-delete
を使用します nova
のコマンド 次の例に示すように、キーペアを割り当てた名前を参照します。
nova keypair-delete mykey
rootユーザー用に保存された公開鍵を含むサーバーを作成するには、次のブートサーバー作成コマンドを--key-name
とともに使用します。 引数:
nova boot --flavor performance1-1 --image <image-id> --key-name mykey Test_Server
コマンド応答には、key_name: mykey
などのサーバー情報が表示されます。 そのサーバーに関連付けられているキーを示すフィールド。
キーペアを使用して作成したサーバーが起動して実行されたら、そのキーペアを使用してログインできます。
LinuxおよびmacOSでは、秘密鍵をユーザーアカウント .sshに追加できます。 ディレクトリを作成し、〜/ .ssh / configでサーバーに名前を付けます 次の例に示すように、ファイル:
Host myservername
User myuser
HostName myServerDnsOrIp
IdentityFile /path/to/appropriate/ssh/rsa/private/key
または、-i
を使用することもできます ssh
のオプション 接続用の秘密鍵を識別するため。例:
ssh -i ~/.ssh/webserver_rsa [email protected]
キーペアと役割ベースのアクセス制御(RBAC)
キーペアは、アカウントではなくユーザー用に保存されます。したがって、アカウントで構成されたユーザーは、そのユーザーに割り当てられた役割に関係なく、アカウント上の他のユーザーのキーを表示または操作することはできません。
コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。