EC2 Instance Connect を使用して接続 - Amazon Elastic Compute Cloud

EC2 Instance Connect を使用して接続

次の手順では、EC2 Instance Connect を使用して Linux インスタンスに接続する方法について説明します。

制約事項

  • 以下の Linux ディストリビューションがサポートされています。

    • Amazon Linux 2 (すべてのバージョン)

    • Ubuntu 16.04 以降

  • ブラウザベースのクライアントを使用して接続するには、インスタンスにパブリック IPv4 アドレスが必要です。

  • インスタンスにパブリック IP アドレスがない場合は、EC2 Instance Connect CLI を使用して、同じ VPC 内のマシンからのみインスタンスに接続できます。

  • EC2 Instance Connect は IPv6 アドレスを使用した接続をサポートしていません。

前提条件

  • インスタンスに Instance Connect をインストールします。

    詳細については、「EC2 Instance Connect のセットアップ」を参照してください。

  • (オプション) ローカルコンピュータに SSH クライアントをインストールします。

    ユーザーがコンソールまたは EC2 Instance Connect CLI のみを使用してインスタンスに接続する場合、 SSH クライアントをインストールする必要はありません。ほとんどの場合、ローカルコンピュータにはデフォルトで SSH クライアントがインストールされています。SSH クライアントがあるかどうかを確認するには、コマンドラインで ssh と入力します。使用するローカルコンピュータでこのコマンドが認識されない場合、SSH クライアントをインストールできます。Linux または macOS X に SSH クライアントをインストールする詳細については、「http://www.openssh.com」を参照してください。Windows 10 に SSH クライアントをインストールする詳細については、「Windows の OpenSSH」を参照してください。

  • (オプション) ローカルコンピュータに EC2 Instance Connect CLI をインストールします。

    コンソールや SSH クライアントのみを使用してインスタンスに接続する場合、EC2 Instance Connect CLI をインストールする必要はありません。詳細については、「タスク 3: (オプション) EC2 Instance Connect CLI をインストールする」を参照してください。

ブラウザベースのクライアントを使用した接続

Amazon EC2 コンソールからインスタンスを選択し、EC2 Instance Connect を使用して接続することを選択することにより、ブラウザベースのクライアントを使用してインスタンスに接続できます。Instance Connect からアクセス許可が付与され、正常に接続されます。

Amazon EC2 コンソールからブラウザベースのクライアントを使用してインスタンスに接続するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. インスタンスを選択し、[接続] を選択します。

  4. [EC2 Instance Connect] を選択します。

  5. ユーザー名を検証し、[Connect (接続)] を選択してターミナルウィンドウを開きます。

EC2 Instance Connect CLI を使用して接続する

EC2 Instance Connect CLI を使用してインスタンスに接続するには、インスタンス ID のみを指定します。Instance Connect CLI によって次の 3 つのアクションが 1 つの呼び出しで実行されます: 1 回限り使用の SSH パブリックキーが生成されます。このキーがインスタンスにプッシュされて 60 秒間保持されます。ユーザーがインスタンスに接続されます。Instance Connect CLI では基本的な SSH/SFTP コマンドを使用できます。

注記

-i は、mssh の使用時にはサポートされません。mssh コマンドを使用してインスタンスに接続する場合は、Instance Connect がキーペアを管理するため、どの種類の ID ファイルも指定する必要はありません。

Amazon Linux 2

EC2 Instance Connect CLI を使用してインスタンスに接続するには

次のように、mssh コマンドをインスタンス ID と共に使用します。AMI のユーザー名を指定する必要はありません。

$ mssh i-001234a4bf70dec41EXAMPLE
Ubuntu

EC2 Instance Connect CLI を使用してインスタンスに接続するには

次のように、mssh コマンドを Ubuntu AMI のインスタンス ID とデフォルトのユーザー名と共に使用します。AMI のユーザー名を指定する必要があります。指定しない場合、Authentication failed というエラーが表示されます。

$ mssh ubuntu@i-001234a4bf70dec41EXAMPLE

独自のキーと SSH クライアントを使用して接続する

EC2 Instance Connect API の使用中に、独自の SSH キーを使用して、選択した SSH クライアントからインスタンスに接続できます。これにより、インスタンスにパブリックキーをプッシュする Instance Connect 機能を活用できます。

要件

サポートされる RSA キータイプは、OpenSSH および SSH2 です。サポートされている長さは 2048 および 4096 です。詳細については、「オプション 2: 独自のパブリックキーを Amazon EC2 にインポートする」を参照してください。

独自のキーと任意の SSH クライアントを使用してインスタンスに接続するには

  1. (オプション) 新しい SSH プライベートキーとパブリックキーを生成する

    新しい SSH プライベートキーとパブリックキー (my_rsa_key および my_rsa_key.pub) は、次のコマンドを使用して生成できます。

    $ ssh-keygen -t rsa -f my_rsa_key
  2. SSH パブリックキーをインスタンスにプッシュする

    send-ssh-public-key コマンドを使用して、SSH パブリックキーをインスタンスにプッシュします。Amazon Linux 2 を使用してインスタンスを起動した場合、AMI のデフォルトのユーザー名は ec2-user です。Ubuntu を使用してインスタンスを起動した場合、AMI のデフォルトのユーザー名は ubuntu です。

    以下に、ec2-user を認証するために、指定されたアベイラビリティーゾーンで指定されたインスタンスにパブリックキーをプッシュする例を示しています。

    $ aws ec2-instance-connect send-ssh-public-key \ --instance-id i-001234a4bf70dec41EXAMPLE \ --availability-zone us-west-2b \ --instance-os-user ec2-user \ --ssh-public-key file://my_rsa_key.pub
  3. プライベートキーを使用してインスタンスに接続する

    パブリックキーがインスタンスメタデータから削除される前に (削除されるまでの時間は 60 秒です)、プライベートキーを使用してインスタンスに接続するには、ssh コマンドを使用します。パブリックキーに対応するプライベートキー、インスタンスを起動するために使用した AMI のデフォルトのユーザー名、およびインスタンスのパブリック DNS 名を指定します。IdentitiesOnly=yes オプションを追加し、ssh config 内のファイルと指定したキーのみが接続に使用されるようにします。

    $ ssh -o "IdentitiesOnly=yes" -i my_rsa_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com