GNU/Linux >> Linux の 問題 >  >> Linux

python-novaclientを使用してクラウドサーバーのSSHキーペアを管理する

サーバーにリモート接続するための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)

キーペアは、アカウントではなくユーザー用に保存されます。したがって、アカウントで構成されたユーザーは、そのユーザーに割り当てられた役割に関係なく、アカウント上の他のユーザーのキーを表示または操作することはできません。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


Linux
  1. plinkとcmdと公開鍵を使用してsshサーバーに接続する方法

  2. 256 MBのクラウドVPSで0.99ドルで何ができるでしょうか?

  3. Windowsクラウドサーバー用のCitrix(XenServer)ツールのアップグレード

  1. クラウドサーバーに関するFAQ

  2. OnMetalクラウドサーバーを作成する

  3. OnMetalクラウドサーバーの概要

  1. 再起動後にGoogleCloudServerにSSHで接続できませんか?

  2. クライアントのSsh秘密公開鍵マップ?

  3. クラウドサーバーの権限マトリックス