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

Elastic Compute Service:サードパーティのクライアントからSSHキーペアを使用してLinuxインスタンスに接続する

最終更新日:Aug 23, 2024

Alibaba Cloudは、Elastic Compute Service (ECS) インスタンスへのログオンに、安全で便利なSSHキーペアベースの認証方法を提供します。 キーペアは、SSHプロトコルを介した認証および暗号化通信に使用されます。 SSHキーペアは公開キーと秘密キーで構成され、Linuxインスタンスでのみ使用できます。 これは、より高いセキュリティ、利便性、および自動化機能に関するビジネス要件を満たしています。 このトピックでは、SSHキーペアを使用して、WindowsデバイスまたはLinuxクライアントやMobaXterm for WindowsなどのSSHコマンドをサポートするデバイスからLinuxインスタンスに接続する方法について説明します。

前提条件

  • SSHキーペアが作成され、が作成されます。pem秘密鍵ファイルがダウンロードされます。 詳細については、「SSHキーペアの作成」をご参照ください。

  • 接続するインスタンスのステータスは 実行中 です。

  • SSHキーペアがインスタンスにバインドされています。 詳細については、「SSHキーペアのバインド」をご参照ください。

  • パブリックIPアドレスまたはelastic IPアドレス (EIP) がインスタンスに関連付けられています。 詳細については、「EIPとECSインスタンスの関連付け」をご参照ください。

  • セキュリティグループルールがインスタンスのセキュリティグループに追加され、必要なポートでのトラフィックを許可します。 このトピックでは、デフォルトのSSHポート22のトラフィックが許可されています。 詳細については、「セキュリティグループルールの追加」をご参照ください。

    ネットワークタイプ

    ルールの方向

    Action

    ポート範囲

    優先度

    権限付与オブジェクト

    Virtual Private Cloud (VPC)

    インバウンド

    許可

    SSH(22)

    1

    オンプレミスクライアントのパブリックIPアドレス。 このパブリックIPアドレスは、ECSインスタンスのパブリックIPアドレスとは異なります。

    重要

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

    クラシックネットワーク

    インターネットの入口

Linux インスタンスへの接続

次のいずれかの方法を使用して、デバイスのオペレーティングシステムに基づくSSHキーペアを使用してLinuxインスタンスに接続できます。

SSHキーペアを使用してWindowsデバイスからLinuxインスタンスに接続する

秘密鍵ファイルの形式をから変換する方法を次に示します。にpem。ppkと、SSHキーペアを使用してLinuxインスタンスに接続する方法。 この例ではPuTTYgenが使用されます。

  1. PuTTYgenとPuTTYをダウンロードしてインストールします。

    以下のリンクからPuTTYgenとPuTTYをダウンロードします。

  2. から秘密鍵ファイルの形式を変換します。にpem。ppk

    1. PuTTYgenを起動します。

      この例では、PuTTYgen 0.71が使用されます。

    2. 生成するキーの種類RSAに設定し、[読み込み] をクリックします。

      windows_puttygen_1

    3. すべてのファイル (*.*) を選択します。

      windows_puttygen_2

    4. を選択します。変換するpem秘密鍵ファイル。

    5. 表示されるダイアログボックスで、[OK] をクリックします。

    6. [秘密鍵の保存] をクリックします。

    7. 表示されるダイアログボックスで、[はい] をクリックします。

    8. の名前を指定します。秘密鍵ファイルをppkし、[保存] をクリックします。

  3. PuTTYを開始します。

  4. 認証に使用する秘密鍵ファイルを設定します。

    1. [接続] > [SSH] > [認証] > [資格情報] を選択します。

    2. [認証用秘密鍵ファイル:] セクションで、[参照] をクリックします。

    3. 結果のを選択します。ppkの秘密鍵ファイル。

    windows_putty_3

  5. Linuxインスタンスに接続するために必要なパラメーターを設定します。

    1. [セッション] をクリックします。

    2. [ホスト名 (またはIPアドレス)] フィールドに、インスタンスのログオンアカウントとパブリックIPアドレスを入力します。

      形式: <Username >@< インスタンスのIPアドレス> 例: ecs-user@10.10.xx.xxx。

    3. ポートフィールドに22を入力します。

    4. 接続タイプSSHに設定します。

    windows_putty_4

  6. [開く] をクリックします。

    次のメッセージが表示された場合は、SSHキーペアを使用してインスタンスにログインします。windows_putty_5

SSHキーペアを使用して、SSHコマンドをサポートするデバイスからLinuxインスタンスに接続する (コマンドを使用して情報を設定する)

次のセクションでは、コマンドを使用してSSHコマンドをサポートするデバイス (LinuxクライアントやMobaXterm for Windowsなど) で必要な設定を構成する方法と、SSHコマンドを使用してデバイスからインスタンスに接続する方法について説明します。

  1. のパスを見つけます。pemオンプレミスデバイス上の秘密鍵ファイル。 例: ~/.ssh/ecs.pem

    使用するパスとファイル名は参照専用です。 実際の条件に基づいて、後続のコマンドで情報を変更できます。

  2. 次のコマンドを実行して、秘密鍵ファイルの属性を変更します。

    chmod 400 [Path of the .pem private key file on your on-premises device]

    例:

    chmod 400 ~/.ssh/ecs.pem
  3. 次のコマンドを実行してインスタンスに接続します。

    ssh -i [Path of the .pem private key file on your on-premises device] username@[Public IP address]

    例:

    ssh -i ~/.ssh/ecs.pem ecs-user@10.10.xx.xxx

SSHキーペアを使用して、SSHコマンドをサポートするデバイスからLinuxインスタンスに接続します (設定ファイルを使用して情報を設定します) 。

次のセクションでは、コマンドを使用してSSHコマンドをサポートするデバイス (LinuxクライアントやMobaXterm for Windowsなど) で必要な設定を構成する方法と、SSHコマンドを使用してデバイスからインスタンスに接続する方法について説明します。

  1. のパスを見つけます。pemオンプレミスデバイス上の秘密鍵ファイル。 例: ~/.ssh/ecs.pem

    使用するパスとファイル名は参照専用です。 実際の条件に基づいて、後続のコマンドで情報を変更できます。

  2. 次のコマンドを実行して、秘密鍵ファイルの属性を変更します。

    chmod 400 [Path of the .pem private key file on your on-premises device]

    例:

    chmod 400 ~/.ssh/ecs.pem
  3. 次のコマンドを実行して、に移動します。sshディレクトリをホームディレクトリに配置し、設定ファイルを作成します。

    cd ~/.ssh
    vim config
  4. 設定ファイルで、Iキーを押して挿入モードに入り、次の設定項目を追加します。

    単一のECSインスタンスの設定項目を追加するために使用されるサンプルコード:

    # Enter the alias of the ECS instance that you want to connect to over SSH. 
    Host ecs
    # Enter the public IP address of the instance. 
    HostName 121.196.**.**
    # Enter the port number. The default port number is 22. 
    Port 22
    # Enter the logon username. 
    User ecs-user
    # Enter the path of the .pem private key file on your on-premises device. 
    IdentityFile ~/.ssh/ecs.pem

    複数のECSインスタンスの設定項目を追加するために使用されるサンプルコード:

    # Enter the alias of the ECS instance that you want to connect to over SSH. 
    Host ecs1
    # Enter the public IP address of the instance. 
    HostName 121.196.**.**
    # Enter the port number. The default port number is 22. 
    Port 22
    # Enter the logon username. 
    User ecs-user
    # Enter the path of the .pem private key file on your on-premises device. 
    IdentityFile ~/.ssh/ecs.pem
    
    # Enter the alias of the ECS instance that you want to connect to over SSH. 
    Host ecs2
    # Enter the public IP address of the instance. 
    HostName 121.196.**.**
    # Enter the port number. The default port number is 22. 
    Port 22
    # Enter the logon username. 
    User ecs-user
    # Enter the path of the .pem private key file on your on-premises device. 
    IdentityFile ~/.ssh/ecs.pem

    設定項目を追加したら、Escキーを押して :wqと入力し、configファイルを保存します。

  5. 次のコマンドを実行してSSHサービスを再起動します。

    警告

    SSHサービスの再起動に失敗すると、SSHサービスが利用できなくなり、サービスが中断する可能性があります。 オフピーク時にSSHサービスを再起動することを推奨します。

    service sshd restart
  6. 次のコマンドを実行してインスタンスに接続します。

    ssh [Alias of the instance]

    例:

    ssh ecs

参考資料

  • インスタンスで作成したユーザーとしてSSHキーペアを使用してLinuxインスタンスにログインする場合は、~/.ssh/authorized_keysファイルを ユーザーのsshディレクトリ。 詳細については、「SSHキーペアを使用したユーザー作成ユーザーとしてのLinuxインスタンスへのログイン」をご参照ください。

  • ECSコンソールを使用して、キーペアをWindowsインスタンスにバインドすることはできません。 キーペアを使用してWindowsインスタンスにログインする場合は、sshdサービスを有効にして、インスタンス内でキーペアを設定できます。 詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。

  • キーペアをインスタンスにバインドした後、パスワードベースの認証方法を使用してインスタンスにログインする場合は、インスタンスのパスワードをリセットします。 インスタンスのパスワードをリセットしたら、キーペアまたは新しいパスワードを使用してインスタンスにログインします。 詳細については、「インスタンスのログインパスワードのリセット」をご参照ください。

  • オンプレミスのデバイスからSSHキーペアを使用してLinuxインスタンスに接続したくない場合は、ECSコンソールからWorkbenchを使用してLinuxインスタンスにログインできます。 詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。