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

Elastic Compute Service:ali-instance-cliを使用してSSH経由でインスタンスに接続する

最終更新日:Dec 28, 2023

Session Managerは、Cloud Assistantが提供する機能で、安全で便利な方法でElastic Compute Service (ECS) インスタンスに接続できます。 ali-instance-cliは、Session Managerが提供するCLIツールです。 このトピックでは、ali-instance-cliを使用してSSH経由でECSインスタンスに接続する方法について説明します。

前提条件

  • 接続するインスタンスにCloud Assistant Agentがインストールされています。 インスタンスがWindowsインスタンスの場合、インストールされるCloud Assistant Agentのバージョンは2.1.3.256以降である必要があります。 インスタンスがLinuxインスタンスの場合、インストールされるCloud Assistant Agentのバージョンは2.2.3.256以降である必要があります。 Cloud Assistant Agentのインストール方法については、「Cloud Assistant Agentのインストール」をご参照ください。

  • セッションマネージャーが有効です。 Session Managerを有効にする方法については、「Session Managerを使用したインスタンスへの接続」をご参照ください。

背景情報

ali-instance-cliを使用してSSH経由でECSインスタンスに接続する場合、インスタンスのIDとパスワードのみを入力する必要があり、インスタンスのパブリックIPアドレスまたはポート番号を入力する必要はありません。 SSHまたは仮想ネットワークコンピューティング (VNC) と比較して、Session Managerはインスタンスへの接続をより安全かつ便利にします。 セッションマネージャーの詳細については、「セッションマネージャー」をご参照ください。

LinuxおよびmacOSオペレーティングシステム

説明

この例では、テストユーザーが使用されます。 実行する必要がある操作は、実際のユーザーとディレクトリによって異なる場合があります。

  1. Session Managerクライアントにログインします。

  2. Session Manager Clientにali-instance-cliをインストールします。

    オペレーティングシステムに基づいて次のいずれかのコマンドを実行し、ali-instance-cliをインストールします。

    • Linux

      curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli
      chmod a + x ali-instance-cli 
    • macOS:

      curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli
      chmod a + x ali-instance-cli 
  3. configという名前のファイルを作成し、ファイルに設定を追加します。

    1. を作成します。作業ディレクトリのsshディレクトリ。 この例では、/home/testを作業ディレクトリとして使用します。

      mkdir。ssh
    2. 切り替えます。sshディレクトリ。

      cd. ssh
    3. configファイルを作成して開きます。

      vim設定
    4. Iキーを押して挿入モードに入ります。

    5. configファイルにコンテンツを追加します。

      説明

      次のコマンドのali-instance-cliを、ali-instance-cliファイルの絶対パスに置き換えます。 この例では、/home/test/ali-instance-cliが使用されています。

      ホストi-*
          ProxyCommand sh -c "ali-instance-cli ssh -i '% h' -- port' % p'" 
    6. Escキーを押して挿入モードを終了します。

    7. :wqと入力し、Enterキーを押してファイルを保存して終了します。

    8. configファイルに対する実行権限を付与します。

      chmod 755設定
  4. AccessKeyペア、Security Token Service (STS) トークン、またはCredentialsURIを設定します。

    AccessKeyペアまたはSTSトークンの取得方法については、「AccessKeyペアの作成」または「STSとは」をご参照ください。

    1. testディレクトリに切り替えます。

      cd /ホーム /テスト
    2. 認証方法を設定します。

      次の認証方法がサポートされています。

      • AccessKeyペアベースの認証

        次のコマンドを実行し、プロンプトに従ってAccessKey ID、AccessKey secret、およびリージョンIDを入力します。

        . /ali-instance-cli configure -- mode AK
      • STSトークンベースの認証

        説明

        次のコマンドで、regionaksk、およびtokenを実際のリージョンID、AccessKey ID、AccessKey secret、およびSTSトークンに置き換えます。

        . /ali-instance-cli configure set -- mode StsToken -- region "region" -- access-key-id "ak" -- access-key-secret "sk" -- sts-token "token"
      • CredentialsURIベースの認証

        次のコマンドを実行し、プロンプトに従ってCredentialsURIとRegionIDを指定します。

        説明

        CredentialsURIの値を、構成する認証サーバーのIPアドレスに設定します。

        . /ali-instance-cli configure -- mode=CredentialsURI

      次のコマンド出力は、AccessKeyペアベースの認証方法が設定されていることを示しています。鉴权成功.png

  5. SSHコマンドを実行してインスタンスに接続します。

    ユーザー名とパスワードのペアまたはキーのペアを使用して、インスタンスに接続できます。

    説明

    useraliyunインスタンスidをインスタンスの実際のユーザー名とIDに置き換えます。

    • パスワードベースの認証

      sshユーザー @ aliyunインスタンスid
    • キーベースの認証

      ssh -i key.pemユーザー @ aliyunインスタンスid

    次のコマンド出力は、Session Managerを使用してSSH経由でインスタンスに接続していることを示しています。连接实例

Windows オペレーティングシステム

WindowsコンピューターでSession Manager Clientを使用してインスタンスに接続する前に、コンピューターにOpenSSHがインストールされていることを確認してください。 WindowsオペレーティングシステムにOpenSSHをインストールする方法については、 クラウドアシスタントを使用して、ECS WindowsインスタンスにOpenSSHをインストールします

説明

この例では、テストユーザーが使用されます。 実行する必要がある操作は、実際のユーザーとディレクトリによって異なる場合があります。

  1. Session Managerクライアントにログインします。

    詳細については、「接続方法の概要」をご参照ください。

  2. Session Manager Clientにali-instance-cliをダウンロードします。

    ali-instance-cli.exe for Windowsをダウンロードして、コンピュータのディレクトリに保存します。 この例では、C:\Users\testディレクトリが使用されています。

  3. configという名前のファイルを作成し、ファイルに設定を追加します。

    1. C:\Users\<Username> ディレクトリに、という名前のフォルダを作成します。ssh

      説明

      C:\Users\<Username> を実際のディレクトリに置き換えます。 この例では、C:\Users\testが使用されています。

      1. デスクトップの左下隅にあるwin2016 搜索.pngアイコンをクリックし、Windows PowerShellと入力します。

      2. [Windows PowerShell] をクリックします。

      3. C:\Users\usernameディレクトリで、mkdirを実行します。sshコマンドを実行して、という名前のフォルダを作成します。ssh

    2. 。sshフォルダ、configという名前のファイルを作成します。

      重要

      configファイル名に拡張子を含めることはできません。

    3. configファイルにコンテンツを追加します。

      次のコマンドのali-instance-cli.exeを、ali-instance-cliファイルの絶対パスに置き換えます。 この例では、C:\Users\test\ali-instance-cli.exeが使用されています。

      ホストi-*
          ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "ali-instance-cli.exe ssh -i '% h' -- port' % p'" 
  4. AccessKeyペアまたはSTSトークンを設定します。

    AccessKeyペアまたはSTSトークンの取得方法については、「AccessKeyペアの作成」または「STSとは」をご参照ください。

    1. [開始] > [実行] を選択して [実行] ダイアログボックスを開きます。 cmdと入力し、Enterを押してコマンドプロンプトウィンドウを開きます。

    2. testディレクトリに切り替えます。

      cd C:\ユーザー \テスト
    3. 認証方法を設定します。

      次の認証方法がサポートされています。

      • AccessKeyペアベースの認証

        次のコマンドを実行し、プロンプトに従ってAccessKey ID、AccessKey secret、およびリージョンIDを入力します。

        ali-instance-cli.exe configure -- mode AK
      • STSトークンベースの認証

        説明

        次のコマンドで、regionaksk、およびtokenを実際のリージョンID、AccessKey ID、AccessKey secret、およびSTSトークンに置き換えます。

        ali-instance-cli.exe設定-モードStsToken -- region "region" -- access-key-id "ak" -- access-key-secret "sk" -- sts-token "token"
      • CredentialsURIベースの認証

        次のコマンドを実行し、プロンプトに従ってCredentialsURIとRegionIDを指定します。

        ali-instance-cli.exe configure -- mode=CredentialsURI

      次のコマンド出力は、AccessKeyペアベースの認証方法が設定されていることを示しています。

      windows AK.png

  5. SSHコマンドを実行してインスタンスに接続します。

    ユーザー名とパスワードのペアまたはキーのペアを使用して、インスタンスに接続できます。

    説明

    useraliyunインスタンスidをインスタンスの実際のユーザー名とIDに置き換えます。

    • パスワードベースの認証

      sshユーザー @ aliyunインスタンスid
    • キーベースの認証

      ssh -i key.pemユーザー @ aliyunインスタンスid

    次のコマンド出力は、Session Managerを使用してSSH経由でインスタンスに接続していることを示しています。

    链接实例

よくある質問

Session Manager Clientを使用しているときにエラーが発生した場合は、ログを表示して問題を特定および分析できます。

  • Session Managerクライアントの現在の時刻に生成されたログを表示します。 例: /home/test/log/aliyun_ecs_session_log.2022XXXX

  • オペレーティングシステムに基づいて、次のいずれかのディレクトリにあるCloud Assistant Agentのログを表示します。

    • Linux

      /usr/local/share/aliyun-assist/<クラウドアシスタントのバージョン番号>/log/
    • Windows

      C:\ProgramData\aliyun\assist\<クラウドアシスタントのバージョン番号>\log

Session Manager Clientを使用してインスタンスに接続するときにSession Managerが有効になっていない場合、ssh_exchange_identification: Connection closed by remote hostエラーメッセージが表示されます。 さらに、セッションマネージャーは無効です。有効にしてください最初のエントリがsession managerクライアントログに表示されます。 ECSコンソールでSession Managerを有効にできます。 詳細については、「Session Managerを使用したインスタンスへの接続」をご参照ください。