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

Elastic Compute Service:OpenSSH または Xshell を使用して Linux インスタンスに接続する

最終更新日:Sep 29, 2025

macOS または Windows 10/11 では、組み込みの OpenSSH コマンドラインツールを使用して Linux Elastic Compute Service (ECS) インスタンスに接続できます。または、Windows で Xshell クライアントを使用することもできます。どちらの方法も、パスワードまたはキーペアを使用した認証をサポートしています。

重要

Alibaba Cloud インスタンスへの接続には、Workbench の使用を推奨します。このブラウザベースのツールは、パスワードなしのログインをサポートしており、OpenSSH や Xshell を使用するよりも便利です。

利用上の注意

方法 1: OpenSSH クライアント (コマンドライン) を使用する

OpenSSH は、macOS および最新の Windows オペレーティングシステムに組み込まれている標準の Secure Shell (SSH) クライアントであり、コマンドラインから迅速に接続できます。

接続前の準備

手順

Windows 10/11

パスワードで接続する

  1. PowerShell を開きます。

    Win+R を押し、powershell と入力して Enter を押します。

  2. リモート接続を開始します。

    ssh <instance_username>@<instance_public_IP_address>
    例: ssh root@47.98.xxx.xxx
  3. (初回接続時) ホストのフィンガープリントを検証します。

    新しい ECS インスタンスに初めて接続すると、次のようなメッセージが表示され、ホストキーのフィンガープリントを検証するように求められます。

    これは SSH のセキュリティメカニズムです。セキュリティのため、インスタンスのホストキーのフィンガープリントを取得し、表示されたものと比較します。一致しない場合は、中間者攻撃を受けている可能性があります。安全なネットワークに切り替えて、再度接続を試みてください。

    ホストキーのフィンガープリントが正しいことを確認した後、yes と入力して Enter を押します。

    The authenticity of host '47.98.xxx.xxx (47.98.xxx.xxx)' can't be established.
    ED25519 key fingerprint is SHA256:AbCdEf123456...
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? 
  4. インスタンスにアクセスするためのパスワードを入力します。

    パスワードを入力しても、画面に文字は表示されません。これは正常な動作です。入力が終わったら Enter を押してください。

    認証されると、ウェルカムメッセージが表示され、コマンドプロンプトが [<username>@<hostname> ~]$ に変わります。これはログインが成功したことを示します。

    Welcome to Alibaba Cloud Elastic Compute Service !
    
    [root@Connect-Instance-Example ~]#

キーペアで接続する

  1. PowerShell を開きます。

    Win+R を押し、powershell と入力して Enter を押します。

  2. リモート接続を開始します。

    ssh -i /path/to/private_key.pem <instance_username>@<instance_public_IP_address>
    例: ssh -i /path/to/private_key.pem root@47.98.xxx.xxx。このコマンドでは、/path/to/private_key.pem は秘密鍵ファイルへのパスです。例: C:\Users\Administrator\Downloads\private_key.pem
  3. (初回接続時) ホストのフィンガープリントを検証します。

    新しい ECS インスタンスに初めて接続すると、次のようなメッセージが表示され、ホストキーのフィンガープリントを検証するように求められます。

    これは SSH のセキュリティメカニズムです。セキュリティのため、インスタンスのホストキーのフィンガープリントを取得し、表示されたものと比較します。一致しない場合は、中間者攻撃を受けている可能性があります。安全なネットワークに切り替えて、再度接続を試みてください。

    ホストキーのフィンガープリントが正しいことを確認した後、yes と入力して Enter を押します。

    The authenticity of host '47.98.xxx.xxx (47.98.xxx.xxx)' can't be established.
    ED25519 key fingerprint is SHA256:AbCdEf123456...
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? 
  4. キーで認証してインスタンスにアクセスします。

    キーが認証されると、ウェルカムメッセージが表示され、コマンドプロンプトが [<username>@<hostname> ~]$ に変わります。これはログインが成功したことを示します。

    Welcome to Alibaba Cloud Elastic Compute Service !
    
    [root@Connect-Instance-Example ~]#

macOS

パスワードで接続する

  1. ターミナルを開きます。

  2. リモート接続を開始します。

    ssh <instance_username>@<instance_public_IP_address>
    例: ssh root@47.98.xxx.xxx
  3. (初回接続時) ホストのフィンガープリントを検証します。

    新しい ECS インスタンスに初めて接続すると、次のようなメッセージが表示され、ホストキーのフィンガープリントを検証するように求められます。

    これは SSH のセキュリティメカニズムです。セキュリティのため、インスタンスのホストキーのフィンガープリントを取得し、表示されたものと比較します。一致しない場合は、中間者攻撃を受けている可能性があります。安全なネットワークに切り替えて、再度接続を試みてください。

    ホストキーのフィンガープリントが正しいことを確認した後、yes と入力して Enter を押します。

    The authenticity of host '47.98.xxx.xxx (47.98.xxx.xxx)' can't be established.
    ED25519 key fingerprint is SHA256:AbCdEf123456...
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? 
  4. インスタンスにアクセスするためのパスワードを入力します。

    パスワードを入力しても、画面に文字は表示されません。これは正常な動作です。入力が終わったら Enter を押してください。

    認証後、システムのウェルカムメッセージが表示され、コマンドプロンプトが [<username>@<hostname> ~]$ に変わります。これはログインが成功したことを示します。

    Welcome to Alibaba Cloud Elastic Compute Service !
    
    [root@Connect-Instance-Example ~]#

キーペアで接続する

  1. ターミナルを開きます。

  2. リモート接続を開始します。

    # chmod 400: 秘密鍵ファイルの所有者に読み取り専用権限を設定します。これは SSH クライアントのセキュリティ要件です。
    chmod 400 /path/to/private_key.pem
    ssh -i /path/to/private_key.pem <instance_username>@<instance_public_IP_address>
    例: ssh -i /path/to/private_key.pem root@47.98.xxx.xxx。このコマンドでは、/path/to/private_key.pem は秘密鍵ファイルへのパスです。
  3. (初回接続時) ホストのフィンガープリントを検証します。

    新しい ECS インスタンスに初めて接続すると、次のようなメッセージが表示され、ホストキーのフィンガープリントを検証するように求められます。

    これは SSH のセキュリティメカニズムです。セキュリティのため、インスタンスのホストキーのフィンガープリントを取得し、表示されたものと比較します。一致しない場合は、中間者攻撃を受けている可能性があります。安全なネットワークに切り替えて、再度接続を試みてください。

    ホストキーのフィンガープリントが正しいことを確認した後、yes と入力して Enter を押します。

    The authenticity of host '47.98.xxx.xxx (47.98.xxx.xxx)' can't be established.
    ED25519 key fingerprint is SHA256:AbCdEf123456...
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? 
  4. キーを認証してインスタンスにアクセスします。

    キーが認証されると、ウェルカムメッセージが表示され、コマンドプロンプトが [<username>@<hostname> ~]$ に変わります。これはログインが成功したことを示します。

    Welcome to Alibaba Cloud Elastic Compute Service !
    
    [root@Connect-Instance-Example ~]#

方法 2: Xshell クライアントの使用 (Windows のみ)

Xshell は、Linux サーバーを管理するために使用される Windows 用の SSH クライアントです。

接続する前に

手順

  1. Xshell を起動し、新しいセッションを作成します。

    1. Xshell アプリケーションを開きます。

    2. 表示される [セッション] ウィンドウで、[新規] をクリックします。または、メニューバーから [ファイル] > [新規] を選択します。

  2. 接続を設定します。

    左側のナビゲーションウィンドウで、[接続] をクリックし、次のパラメーターを設定します。

    • 名前: セッションのわかりやすい名前 (例: My-Web-Server) を入力します。

    • プロトコル: デフォルトの SSH のままにします。

    • ホスト: インスタンスのパブリック IP アドレスを入力します。

    • ポート番号: デフォルトの 22 のままにします。

  3. ユーザー認証を設定します。

    左側のナビゲーションウィンドウで、[認証] をクリックします。

    パスワードで接続する

    1. 方式: Password を選択します。

    2. ユーザー名: サーバーのログイン名 (root など) を入力します。

    3. パスワード: 対応するログインパスワードを入力します。

    キーペアで接続する

    1. ユーザー名: サーバーのログイン名 (root など) を入力します。

    2. 方式: Public Key を選択し、次のようにユーザーキーを設定します。

      1. [Settings...] をクリックします。

      2. [Key File] オプションを選択します。[User Key] の横にある [...] をクリックし、[Import...] をクリックして、ローカル記憶域から .pem 秘密鍵ファイルを選択します。

      3. インポート後、キーを選択して [OK] をクリックします。

      4. (オプション) キーファイルがパスワードで保護されている場合は、[Password] を入力します。

  4. インスタンスに接続します。

    [接続] をクリックします。

  5. (初回接続) ホストキーを検証します。

    新しい ECS インスタンスに初めて接続すると、Xshell にホストキーの指紋を含む [SSH セキュリティ警告] ウィンドウが表示されます。

    これは SSH のセキュリティメカニズムです。セキュリティのため、インスタンスのホストキーの指紋を取得し、表示されているものと比較します。一致しない場合は、中間者攻撃を受けている可能性があります。セキュアなネットワークに切り替えて、再度接続を試みてください。

    キーを検証した後、[Accept and Save] をクリックします。

  6. インスタンスにアクセスします。

    コマンドプロンプトが表示されたら、接続は成功です。

    Welcome to Alibaba Cloud Elastic Compute Service !
    
    [root@Connect-Instance-Example ~]#

本番環境での適用

本番環境でのリモート接続のセキュリティを強化するには、以下のベストプラクティスに従ってください。

  • ホストの指紋を検証して中間者攻撃を防ぐ

    インスタンスに初めて接続するときは、インスタンスのホストキーの指紋を検証して、攻撃者のサーバーではなく、正しいインスタンスに接続していることを確認します。

  • パスワードベースのログインを無効にし、キーペア認証を強制する

    キーペア認証はパスワード認証よりもはるかに安全であり、ブルートフォース攻撃のリスクを軽減します。

    1. インスタンスにキーペアをバインドします。

    2. インスタンスにログインし、/etc/ssh/sshd_config 構成ファイルを編集して、PasswordAuthentication の値を no に変更します。変更を有効にするには、SSH サービスを再起動します。

  • デフォルトの SSH ポートを変更する

    デフォルトのポート 22 を非標準ポート (2222 など) に変更すると、自動スキャンへの露出が減少します。

    1. 新しいポートを許可: インスタンスのセキュリティグループにインバウンドルールを追加して、新しいポートでのトラフィックを許可します。

    2. SSH サービスポートの変更: インスタンスにログインし、/etc/ssh/sshd_config 構成ファイルを編集して、#Port 22Port 2222 に変更します。変更を有効にするには、SSH サービスを再起動します。

    3. 新しいポートを使用して接続: 接続時に、-p フラグで新しいポートを指定する必要があります。例: ssh -p 2222 username@instance_ip

  • 信頼できる IP アドレスからのみアクセスを許可する

    セキュリティグループルールを変更して、ローカル IP またはその他の信頼できる IP アドレスからのみ SSH アクセスを許可します。

よくある質問

  • ポート 22 のセキュリティグループルールを設定するにはどうすればよいですか?

    インスタンスのセキュリティグループで、ルールを追加し、次の設定を行います。

    アクション

    プロトコル

    ソース

    宛先 (このインスタンス)

    許可

    カスタム TCP

    ローカルクライアントのパブリック IP アドレス。

    重要

    0.0.0.0/0 を使用すると、どの IP アドレスでもポートにアクセスできるようになり、セキュリティリスクが生じます。注意して使用してください。

    SSH(22)

    SSH ポートを変更した場合は、新しいポート番号を使用してください。
  • インスタンスのホストキーの指紋を検証するにはどうすればよいですか

    インスタンスに初めて接続すると、ホストキーの指紋を検証するように求められます。

    コンソールでの操作

    1. ECS コンソール - インスタンスに移動します。左上隅で、リージョンとリソースグループを選択します。

    2. インスタンスを見つけて、image > [インスタンスのシステムログを取得] をクリックします。次に、BEGIN SSH HOST KEY FINGERPRINTS を見つけます。ホストの指紋が表示されます。

      image

      SSH クライアントによって表示される指紋が出力の指紋と完全に一致するかどうかを確認します。一致しない場合は、中間者攻撃を受けている可能性があります。安全なネットワークに切り替えて、再度接続を試みてください。

      このセクションが見つからない場合は、インスタンスにログインしてホストの指紋を表示します。

    インスタンスでの操作

    Workbench を使用してインスタンスにログインし、次のコマンドを実行してホストキーの指紋を表示します。

    for f in /etc/ssh/ssh_host_*_key.pub; do ssh-keygen -l -f "$f"; done

    出力例:

    1024 SHA256:9C******co root@Connect-Instance-Example (DSA)
    256 SHA256:u6******SU root@Connect-Instance-Example (ECDSA)
    256 SHA256:iQ******jg root@Connect-Instance-Example (ED25519)
    3072 SHA256:8R******64 root@Connect-Instance-Example (RSA)

    SSH クライアントによって表示される指紋が出力の指紋と完全に一致するかどうかを確認します。一致しない場合は、中間者攻撃を受けている可能性があります。安全なネットワークに切り替えて、再度接続を試みてください。

  • SSH 設定ファイルで接続コマンドを簡略化するにはどうすればよいですか?

    接続コマンドを簡略化するには、ローカルマシンで SSH config ファイルを作成して設定し、サーバーのエイリアスを設定します。

    1. 設定ファイルを見つけるか、作成します。

      Windows 10/11

      設定ファイルのデフォルトパスは C:\Users\YourUsername\.ssh\config です。ファイルが存在しない場合は、手動で作成してください。

      YourUsername を現在の Windows ユーザー名に置き換えてください。

      macOS

      設定ファイルのデフォルトパスは ~/.ssh/config です。ファイルが存在しない場合は、手動で作成してください。

    2. 設定ファイルを編集し、インスタンス情報を追加します。

      テキストエディターで config ファイルを開き、各サーバーに Host ブロックを追加します。

      # Web サーバーのエイリアス "web-server" を設定
      Host web-server
          HostName        47.98.xxx.xxx
          User            root
          Port            22
          # (オプション) キーペアを使用してログインする場合は、秘密鍵のパスを指定します。パスワードを使用する場合は、これを無視してください。
          IdentityFile    /path/to/your/private_key.pem
      
      # 他のサーバー用にさらに設定を追加できます
      Host other-server
          HostName        8.123.xxx.xxx
          User            ecs-user
          Port            2222
          IdentityFile    ~/.ssh/another_key.pem

      パラメーターの説明:

      • Host: サーバーのカスタムエイリアス。

      • HostName: インスタンスのパブリック IP アドレス。

      • User: ログインユーザー名。

      • Port: SSH ポート番号 (デフォルトは 22)。

      • IdentityFile: 秘密鍵ファイルへの絶対パス。

    3. エイリアスを使用して接続します。

      config ファイルを保存します。これで、エイリアスを使用して接続できます。

      # エイリアスを使用して直接接続します。SSH は設定ファイルから IP アドレス、ユーザー名、キー情報を自動的に読み取ります。
      ssh web-server
  • Connection timed out エラーが表示されるのはなぜですか?

    このエラーは、クライアントがサーバーとの接続を確立できなかった場合に発生します。以下を確認してください。

    1. パブリック IP アドレスが正しいこと。

    2. セキュリティグループが必要なポートでのトラフィックを許可していること。

    3. インスタンスが実行中であること。

    4. ECS コンソール - 自己診断トラブルシューティング ツールを使用して問題を診断します。

  • Permission denied, please try again エラーが表示されるのはなぜですか?

    このエラーは、サーバーがパスワードを拒否したことを意味します。以下を確認してください。

    1. コンソールでパスワードをリセットして、再試行します。

    2. ECS コンソール - 自己診断トラブルシューティング ツールを使用して問題を診断します。

  • Permission denied (publickey) エラーが表示されるのはなぜですか?

    このエラーは、サーバーがキーを拒否したことを意味します。以下を確認してください。

    1. コンソールでキーペアを再度バインドして、再試行します。

    2. 秘密鍵ファイルへのパスが正しいこと。秘密鍵がインスタンスに関連付けられているキーペアと一致すること。

    3. (macOS の場合) 秘密鍵ファイルの権限が 400 または 600 であること。

    4. ECS コンソール - 自己診断トラブルシューティング ツールを使用して問題を診断します。

  • WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! エラーが表示されるのはなぜですか?

    この SSH セキュリティ機能は、最初の接続後にサーバーのホストキーの指紋が変更された場合にトリガーされます。これは、システムディスクを変更したり、オペレーティングシステムを再インストールしたり、インスタンス上のホストキーファイルを削除したりした場合に発生する可能性があります。

    解決策: インスタンスのホストキーの指紋を検証します。それが正しい場合は、ローカルマシンで次のコマンドを実行して、古い指紋を削除します。

    ssh-keygen -R <instance_public_IP_address>