すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:パスワードまたはキーを使用してWorkbenchを使用してLinuxインスタンスに接続する

最終更新日:Aug 20, 2024

Workbenchは、Virtual Network Computing (VNC) よりも効率的で便利な接続ツールであり、複数のユーザーが1つのLinux Elastic Compute Service (ECS) インスタンスに同時に接続できます。 Workbenchは、パスワードベースの認証、SSHキーペアベースの認証、一時的なSSHキーペアベースの認証、および資格情報ベースの認証をサポートしています。

前提条件

  • Workbenchのサービスにリンクされたロールが作成されます。 初めてWorkbenchを使用してインスタンスに接続すると、Workbenchのサービスにリンクされたロールを作成するように求められます。 詳細については、「Workbenchサービスにリンクされたロール」をご参照ください。

    重要

    Workbenchを使用してResource Access Management (RAM) ユーザーとしてインスタンスに接続する場合は、そのRAMユーザーにAliyunECSDworkbenchFullAccessシステムポリシーに含まれる権限があることを確認してください。 RAMユーザーに権限がない場合、必要な権限がないことを示すエラーメッセージが表示されます。 RAMユーザーに権限を付与する方法については、「RAMユーザーに権限を付与する」をご参照ください。

  • ログインパスワードが設定されているか、接続先のLinuxインスタンスにキーペアがバインドされています。 詳細については、「インスタンスのログインパスワードのリセット」または「SSHキーペアのバインド」をご参照ください。

  • Linuxインスタンスのステータスが [実行中] です。

  • Cloud Assistant AgentがLinuxインスタンスにインストールされています。 詳細については、「Cloud Assistant Agentのインストール」をご参照ください。

  • Workbenchに関連するIPアドレスがLinuxインスタンスにアクセスできるようにするセキュリティグループルールが、Linuxインスタンスが属するセキュリティグループに追加されます。 セキュリティグループルールは、Linuxインスタンスのネットワークタイプによって異なります。 詳細については、「セキュリティグループルールの追加」をご参照ください。

    仮想プライベートネットワーク (VPC) に存在するインスタンス

    VPCにあるインスタンスに接続する場合は、インスタンスが属するセキュリティグループを見つけ、[セキュリティグループの詳細] ページに移動し、[インバウンド] タブでルールを追加します。 次の表に、ルールに設定する必要があるパラメーターを示します。

    Action

    優先度

    プロトコルタイプ

    ポート範囲

    権限付与オブジェクト

    許可

    1

    カスタムTCP

    • Linuxインスタンスでデフォルトのポートであるポート22を開くには、[SSH (22)] を選択します。

    • Linuxインスタンスで他のポートを開くには、ポート範囲を指定します。

    • 静的パブリックIPアドレス (自動割り当てまたはシステム割り当てパブリックIPアドレスとも呼ばれます) またはインスタンスに関連付けられているelastic IPアドレス (EIP) を使用してインスタンスに接続するには、 161.117.0.0/16

    • インスタンスのプライベートIPアドレスを使用してインスタンスに接続するには、100.104.0.0/16を指定します。

    警告

    権限付与オブジェクトとして0.0.0.0/0を指定すると、すべてのIPアドレスからのインバウンドアクセスが許可されます。 ただし、これによりインスタンスがセキュリティリスクにさらされます。 作業は慎重に行ってください。

    クラシックネットワークに存在するインスタンス

    • インターネット経由でクラシックネットワークに存在するインスタンスに接続する場合は、インスタンスが属するセキュリティグループを見つけ、[セキュリティグループの詳細] ページに移動して、[インターネット侵入] タブでルールを追加します。 次の表に、ルールに設定する必要があるパラメーターを示します。

      Action

      優先度

      プロトコルタイプ

      ポート範囲

      権限付与オブジェクト

      許可

      1

      カスタムTCP

      • Linuxインスタンスでデフォルトのポートであるポート22を開くには、[SSH (22)] を選択します。

      • Linuxインスタンスで他のポートを開くには、ポート範囲を指定します。

      静的パブリックIPアドレスまたはインスタンスに関連付けられているEIPを使用してインスタンスに接続するには、 161.117.90.22.

      警告

      権限付与オブジェクトとして0.0.0.0/0を指定すると、すべてのIPアドレスからのインバウンドアクセスが許可されます。 ただし、これによりインスタンスがセキュリティリスクにさらされます。 作業は慎重に行ってください。

    • 内部ネットワークを介してクラシックネットワークにあるインスタンスに接続する場合は、インスタンスが属するセキュリティグループを見つけ、[セキュリティグループの詳細] ページに移動し、[インバウンド] タブにルールを追加します。 次の表に、ルールに設定する必要があるパラメーターを示します。

      Action

      優先度

      プロトコルタイプ

      ポート範囲

      権限付与オブジェクト

      許可

      1

      カスタムTCP

      • Linuxインスタンスでデフォルトのポートであるポート22を開くには、[SSH (22)] を選択します。

      • Linuxインスタンスで他のポートを開くには、ポート範囲を指定します。

      インスタンスの内部IPアドレスを使用してクラシックネットワークに存在するインスタンスに接続するには、 161.117.90.22.

      警告

      権限付与オブジェクトとして0.0.0.0/0を指定すると、高いセキュリティリスクが発生する可能性があります。 0.0.0.0/0を指定しないことを推奨します。

手順

デフォルトでは、Workbenchリモート接続は6時間持続します。 6時間操作を実行しない場合、リモート接続は閉じられます。 Linuxインスタンスに再接続する必要があります。

  1. ECSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンス を選択します。

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. [インスタンス] ページで、接続するLinuxインスタンスを見つけます。 アクション 列で、リモート接続 をクリックします。

  5. リモート接続 ダイアログボックスで、ワークベンチ セクションの 今すぐサインイン をクリックします。

  6. では、インスタンスログインダイアログボックスで、パラメーターを設定します。

    次の表に、ダイアログボックスで必要なパラメーターを示します。

    パラメーター

    説明

    インスタンス

    現在のインスタンスの情報は自動的に入力されます。 IPアドレスまたは別のインスタンスの名前を入力できます。

    接続

    • VPCにあるインスタンスに接続するには、インスタンスのパブリックIPアドレスまたはプライベートIPアドレスを使用します。

    • クラシックネットワークにあるインスタンスに接続するには、インスタンスのパブリックIPアドレスまたは内部IPアドレスを使用します。

    さまざまなネットワークタイプの詳細については、「概要」と「クラシックネットワークのECSインスタンスのIPアドレス」をご参照ください。

    認証

    認証方法を選択します。 有効な値:

    • パスワードベース: パスワードベースの認証。 rootやecs-userなどのユーザー名と、そのユーザー名のパスワードを入力します。

    • SSHキー認証: SSHキーペアベースの認証。 rootまたはecs-userなどのユーザー名を入力し、秘密鍵ファイルを入力またはアップロードします。 秘密鍵ファイルが暗号化されている場合は、秘密鍵のパスフレーズを入力します。

    • 資格情報ベース: 資格情報ベースの認証。 資格情報を選択または作成します。

      資格情報は、ユーザー名、パスワード、キーなどのインスタンス情報を保存するために使用されます。 資格情報を使用して、ユーザー名やパスワードを入力することなく、安全な方法でインスタンスにログインできます。 WorkbenchにLinuxインスタンスの資格情報が存在しない場合は、インスタンスの資格情報を作成します。 詳細については、このトピックの「パスワードなしでログインを許可する資格情報の作成」をご参照ください。

    • 一時的なSSHキーベース: 一時的なSSHキーペアベースの認証。 rootまたはecs-userなどのユーザー名を入力します。 デフォルトでは、rootユーザー名が使用されます。

      説明

      SSHキーペアベースの一時認証は、一般的なCloud Assistantコマンドを使用して実装されます。

      1. Workbenchを使用してLinuxインスタンスにログインすると、有効期間が1分の一時的なSSHキーペアが生成されます。

      2. Cloud Assistantは、InvokeCommand操作を呼び出して、ACS-ECS-EnableSshPublicKey-linux.shおよびACS-ECS-SendSshPublicKey-linux.shの共通コマンドを実行し、一時的なSSHキーペアの公開キーをLinuxインスタンスに送信します。 Linuxインスタンスでは、公開鍵はCloud Assistant Agentに配信されます。

      3. Workbenchと一時的なSSHキーペアを使用してインスタンスにログインします。

      Workbenchは、一時的なSSHキーペアをデータベースに保存しません。 一時的なSSHキーペアの有効期限が切れると、Workbenchは別の一時的なSSHキーペアを生成してログオン接続を維持します。

    ダイアログボックスの下部で、[その他のオプション] をクリックして、オプションのパラメーターを表示します。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    リソースグループ

    デフォルトでは、[すべて] が選択されています。 ドロップダウンリストからリソースグループを選択できます。

    リージョン

    デフォルトでは、[すべて] が選択されています。 ドロップダウンリストからリージョンを選択できます。

    プロトコル

    デフォルトでは、[ターミナル接続 (SSH)] が選択されています。

    説明

    リモートデスクトップ (RDP) を使用してLinuxインスタンスに接続するには、xrdpなどのリモートデスクトッププロトコル (RDP) サービスとグラフィカルデスクトップをインスタンスにインストールします。 Linuxインスタンスにグラフィカルデスクトップをインストールする方法については、「Linuxインスタンスのグラフィカルデスクトップ環境のインストール」をご参照ください。

    ポート

    プロトコルをターミナル接続 (SSH) に設定すると、このパラメーターは自動的に22に設定されます。

    リモート接続ポートとして別のポートを指定した場合は、ポート番号を入力します。

    説明

    プロトコルをリモートデスクトップ (RDP) に設定すると、このパラメーターは自動的に3389に設定されます。

    Language

    好みの言語を選択します。 選択した言語は、Linuxインスタンスの出力に影響します。 [デフォルト] を選択することを推奨します。 これにより、WorkbenchはLinuxインスタンスの言語設定を検出し、適切な設定を構成します。

    文字セット

    好みの文字セットを選択します。 選択した文字セットは、Linuxインスタンスの出力に影響します。 [デフォルト] を選択することを推奨します。 これにより、WorkbenchはLinuxインスタンスの文字セット設定を検出し、適切な設定を構成します。

  7. クリックOK.

すべての前提条件を満たしているが、Linuxインスタンスに接続できない場合は、インスタンスに対して次のチェックを実行します。

  • Linuxのsshdなどのsshdサービスが有効になっているかどうかを確認します。 sshdサービスが無効になっている場合は、サービスを有効にします。

  • 必要なSSHポート (通常はポート22) が開いているかどうかを確認します。 必要なSSHポートが閉じている場合は、ポートを開きます。

  • ルートユーザー名を使用してLinuxインスタンスにログインするには、/etc/ssh/sshd_configファイルにPermitRootLogin yesおよびPasswordAuthentication yesの設定が含まれていることを確認します。 詳細については、このトピックの「LinuxインスタンスでのSSH経由のルートログインの有効化」をご参照ください。

パスワードなしでログオンできるように資格情報を作成する

このセクションでは、WorkbenchでLinuxインスタンスの資格情報を作成する方法について説明します。 資格情報を作成した後、Linuxインスタンスにログインするときに、その資格情報を認証に使用できます。

  1. ECSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンスを選択します。

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. [インスタンス] ページで、接続するLinuxインスタンスを見つけます。 アクション 列で、リモート接続 をクリックします。

  5. リモート接続 ダイアログボックスで、ワークベンチ セクションの 今すぐサインイン をクリックします。

  6. [インスタンスログイン] ダイアログボックスで、パラメーターを設定します。

  7. 資格情報を作成します。

    1. 次の表に、ダイアログボックスで必要なパラメーターを示します。

      パラメーター

      説明

      インスタンス

      現在のインスタンスの情報は自動的に入力されます。 ドロップダウンリストから別のインスタンスを選択できます。

      接続

      • VPCにあるLinuxインスタンスに接続するには、インスタンスのパブリックIPアドレスまたはプライベートIPアドレスを使用します。

      • クラシックネットワークにあるLinuxインスタンスに接続するには、インスタンスのパブリックIPアドレスまたは内部IPアドレスを使用します。

      認証

      1. [資格情報ベース] を選択します。

      2. [資格情報] ドロップダウンリストから [資格情報の作成] を選択します。

    2. [資格情報の追加] ダイアログボックスで、パラメーターを設定します。 下表に、各パラメーターを説明します。

      パラメーター

      説明

      資格情報の名前

      資格情報の名前を入力します。

      ユーザー名

      rootまたはecs-userなどのユーザー名を入力します。

      資格情報のタイプ

      資格情報の種類を選択します。 有効な値:

      • パスワード: この値を選択した場合、Linuxインスタンスのログインパスワードを入力する必要があります。

      • 秘密鍵: この値を選択した場合、秘密鍵ファイルを入力またはアップロードする必要があります。 秘密鍵ファイルが暗号化されている場合は、秘密鍵のパスフレーズを入力します。

      マテリアル名

      認証マテリアルの名前を入力します。

      Password

      Linuxインスタンスのログインパスワードを入力します。

      指紋

      指紋は、認証材料に基づいて自動的に生成される。

    3. [OK] をクリックします。

  8. [インスタンスログイン] ダイアログボックスで、[資格情報] ドロップダウンリストから作成した資格情報を選択し、[OK] をクリックします。

LinuxインスタンスでSSH経由でルートログインを有効にする

特定のLinuxオペレーティングシステムでは、sshdはデフォルトでrootログオンを無効にします。 この場合、SSH経由でrootとしてLinuxインスタンスに接続しようとすると、ユーザー名またはパスワードが無効であることが求められます。 LinuxインスタンスでSSH経由のルートログインを有効にするには、次の手順を実行します。

  1. VNCを使用してLinuxインスタンスに接続します。

    詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。

  2. SSH設定ファイルを開きます。

    vim /etc/ssh/sshd_config
  3. を押してください。私はキーを押して挿入モードに入ります。

  4. 次の行に表示されるように、PermitRootLoginおよびPasswordAuthenticationパラメーターをyesに設定します。

    PermitRootLogin yes
    PasswordAuthentication yes
  5. を押してください。Escキーと入力: wq変更を保存します。

  6. sshdを再起動します。

    systemctl restart sshd.service