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

Platform For AI:リモート接続:SSH 直接接続

最終更新日:Aug 27, 2026

SSH 直接接続は、ローカルターミナルまたは VS Code から DSW インスタンスに接続するための推奨方法です。SSH 直接接続は、ProxyClient 接続よりも高速で安定しています。

制限事項

  • 非対応のインスタンスタイプ

    パブリックリソースグループでは、名前が ecs.ebm で始まるインスタンスタイプは SSH 直接接続をサポートしていません。

  • パブリックネットワーク接続の制限

    パブリックネットワーク経由で DSW インスタンスに接続する場合、PAI は各 Internet NAT ゲートウェイに DNAT ルールを自動的に設定します。手動での設定は不要です。

    各 Internet NAT ゲートウェイは最大 100 個の DNAT ルールをサポートします。したがって、同時に接続できる DSW インスタンスは最大 100 個です。クォータの詳細については、「Quotas」をご参照ください。

課金

DSW インスタンスへのパブリックネットワークアクセスには、NAT ゲートウェイElastic IP アドレス (EIP)、または Network Load Balancer (NLB) が必要です。NAT ゲートウェイ、EIP、および NLB はそれぞれ個別に課金されます。DSW インスタンスを停止した後も課金は継続します。不要になったら、これらのリソースを速やかに削除してください。

実装手順

ステップ 1:プライベート DNS 名前解決の有効化

DSW インスタンスは仮想プライベートクラウド (VPC) にデプロイされており、SSH 接続はプライベート DNS によるインスタンス IP アドレスの名前解決に依存します。DSW インスタンスに接続する前に、プライベート DNS 名前解決を有効化してください。詳細については、「Activate Private DNS」をご参照ください。

ステップ 2:SSH キーペアの生成

クライアントで次のコマンドを実行して SSH キーペアを生成します。プロンプトが表示されたら、キーペアのパスフレーズを設定します。remote_ikernel を使用してインスタンスに接続する予定がある場合 (本トピックのシナリオ例を参照)、パスフレーズを空のままにして Enter を押してください。

デフォルトパスにキーペアを生成 (推奨)

次のコマンドを実行します:

ssh-keygen

コマンドの実行後、公開鍵 (id_rsa.pub) と秘密鍵 (id_rsa) が以下のディレクトリに生成されます。SSH キーペアがすでに存在する場合、既存のファイルは上書きされます。デフォルトパスは OS によって異なります:

  • Windows: C:\Users\<username>\.ssh ディレクトリ。

  • Linux: root ユーザーの場合は /root/.ssh ディレクトリ、標準ユーザーの場合は /home/<username>/.ssh ディレクトリ。

  • macOS: /Users/<username>/.ssh ディレクトリ。

カスタムディレクトリにキーペアを生成

次のコマンドを実行します:

ssh-keygen -f /your/path/example_rsa # /your/path に example_rsa.pub と example_rsa を生成します

ステップ 3:DSW インスタンスの SSH 設定

Create a DSW instance の際に、以下のネットワークパラメーターを設定します。

既存のインスタンスの場合は、設定の変更 をクリックしてパラメーターを変更し、OK をクリックして変更を適用します。

パラメーター

説明

[VPC の設定]、[vSwitch]、[セキュリティグループ]

パブリックリソースグループで DSW インスタンスを作成するには、[VPC の設定]、[vSwitch]、および [セキュリティグループ] が必要です。これらのリソースは、以下の手順で作成できます。詳細については、「Create a VPC and vSwitches」および「Manage security groups」をご参照ください。VPC とセキュリティグループは、DSW インスタンスと同じリージョンにある必要があります。

重要

セキュリティグループのインバウンドルールで、TCP ポート 22 のトラフィックが許可されていることを確認してください。NAT ゲートウェイ経由で接続する場合、送信元には NAT ゲートウェイが属する vSwitch の CIDR ブロックを指定する必要があります。

VPC、vSwitch、セキュリティグループの作成手順

  1. DSW の設定ページで、[Create VPC] をクリックします。

    imageVPC 名、IPv4 CIDR ブロック、および vSwitch 情報を設定し、その他のパラメーターはデフォルト値のままにして、OK をクリックして VPC と vSwitch を作成します。

    image

  2. DSW の設定ページに戻り、「[VPC の設定]」で新しく作成した VPC を選択します。

  3. [Create Security Group] をクリックし、デフォルト値のまま [Confirm] をクリックします。DSW の設定ページに戻り、「[セキュリティグループ ID]」に新しく作成したセキュリティグループを設定します。

    image

    セキュリティグループのインバウンドルールで、TCP ポート 22 のトラフィックが許可されていることを確認してください。

    image

[SSH の有効化]

スイッチをオンにし、ステップ 2 で生成された公開鍵ファイル id_rsa.pub の内容を SSH 公開鍵 テキストボックスにコピーします。追加 をクリックして、複数のクライアントの公開鍵を追加します。サポートされる公開鍵は最大 10 個です。

[サービスアクセスとポート設定]

[SSH の有効化] スイッチをオンにすると、SSH という名前のサービスが表示されます。

  • [リッスンポート]: DSW インスタンス内でサービスがリッスンするポートです。デフォルト値:22。

  • [SSH アクセス方法]:

    • [VPC アクセス方式]: デフォルトでサポートされています。ECS など、VPC 内の他のターミナルから DSW インスタンス内のサービスにアクセスできます。

    • [パブリックネットワークアクセス方式]: パブリックネットワークアクセスを追加するには、このオプションを選択します。併せて [インスタンスへのパブリックアクセス] のパラメーターも設定する必要があります。

  • [パブリックネットワークアクセスポート]: パブリックネットワークからのアクセスを許可するポートです。このポートは、パブリックネットワークアクセス用の SSH コマンドでの -p パラメーターの値です。例:1024。

[インスタンスへのパブリックアクセス]

パブリックネットワークアクセスが必要な場合にこのパラメーターを設定します。[DNAT + EIP] を選択します。

  • [NAT Gateway]: パブリックネットワークアクセスに必要です。現在の VPC 用に作成した Internet NAT ゲートウェイ を選択します。

  • [Elastic IP Address]: パブリックネットワークアクセスに必要です。現在の NAT ゲートウェイ用に作成した EIP を選択します。

NAT ゲートウェイと EIP は、以下の手順で作成します:

NAT ゲートウェイと EIP の作成手順

  1. NAT Gateway の作成 をクリックします。

    image

    NAT ゲートウェイの作成ページで、パラメーターを設定するか、デフォルト値のままにして、EIPの作成 をクリックします。

    image

  2. EIP の作成ページで、パラメーターを設定するかデフォルト値のままにして、[Buy Now] をクリックします。

  3. NAT ゲートウェイの作成ページに戻り、「Elastic IP Address Instance」で新しく作成した EIP を選択し、[Buy Now] をクリックして NAT ゲートウェイを作成します。

代わりに NLB を使用することもできます。NLB インスタンスを作成する際は、Instance Network TypeInternet に設定し、現在の DSW インスタンスと同じ VPC を選択します。詳細については、「Get started with NLB for IPv4 load balancing」をご参照ください。

説明

複数の DSW インスタンスで同じ DNAT ルールと EIP (または NLB) を共有する場合は、異なるパブリックアクセスポートを使用してください。

ステップ 4:SSH サーバーのインストール

公式のベースイメージ、およびそれらから派生したカスタムイメージには、SSH サーバーがデフォルトでインストールされ、起動されています。

DSW インスタンスのターミナルで service ssh status を実行してサービスステータスを確認するか、pgrep sshd を実行して sshd プロセスが存在するかどうかを確認します。SSH サービスが実行されていない場合は、以下のコマンドを実行して SSH サーバーをインストールします。

説明

コンソールで SSH のステータスが「Ready」であることは、設定が完了していることのみを示し、sshd プロセスが実行中であることを意味するわけではありません。pgrep sshd を実行して確認してください。

sudo apt-get update
sudo apt-get install openssh-server
sudo service ssh start

sudo コマンドが見つからない場合は、先に apt-get install sudo を実行してから、前述のコマンドを再試行してください。

CentOS または Red Hat Enterprise Linux (RHEL) では、yum install openssh-server または dnf install openssh-server を実行します。

ステップ 5:DSW インスタンスへの接続

  1. アクセス方法を確認します。

    DSW ページで、インスタンス名をクリックしてインスタンス詳細ページに移動します。インスタンスの設定 タブで、ネットワーク設定 セクションを見つけ、[パブリックアクセス方法][VPC アクセス方法] を表示します。

    説明

    SSH 設定でパブリックアクセスを選択していない場合、ここには VPC アクセス方法のみが表示されます。

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

    SSH を使用して接続

    • パブリックネットワークアクセス

      ローカルのコマンドラインまたは別のターミナルから、手順1で確認したパブリックアクセス方法を使用して DSW インスタンスに接続します。

      ssh root@xx.xx.xx.xx -p 1024 
      # 秘密鍵がデフォルトパスにない場合は、鍵の場所を指定します
      ssh -i /your/path/example_rsa root@xx.xx.xx.xx -p 1024
      重要

      前述のコマンドでは、-p パラメーターで SSH 用に設定したパブリックアクセスポートを指定します。この例ではポートは 1024 です。

    • VPC アクセス

      ECS インスタンスなど、VPC 内の別のターミナルから、手順1で確認した VPC アクセス方法を使用して DSW インスタンスに接続します。

      ssh root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22
      # 秘密鍵がデフォルトパスにない場合は、鍵の場所を指定します
      ssh -i /your/path/example_rsa root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22

    ローカルの VS Code から接続

    1. VS Code を開き、拡張機能ビューから Remote - SSH 拡張機能をインストールします。

      インストールが完了したら、コマンドパレットを開き、remote-ssh を入力し、[Remote-SSH: ホストに接続...] コマンドを選択してリモート接続を開始します。

    2. 左下隅の image をクリックして Remote-SSH ダイアログボックスを開き、[Connect to Host...] > [Add New SSH Host...] を選択します。

    3. SSH 接続コマンドを入力します。

      ssh root@xx.xx.xx.xx -p 1024 
      # 秘密鍵がデフォルトパスにない場合は、鍵の場所を指定します
      ssh -i /your/path/example_rsa root@xx.xx.xx.xx -p 1024
    4. 右下隅の開くをクリックします。左下隅に接続ステータスが表示されます。

    5. DSW インスタンス内のディレクトリを開いて、リモート開発とデバッグを開始します。

      左側のアクティビティバーにある [エクスプローラー] アイコンをクリックし、[フォルダーを開く] ボタンをクリックし、[ファイルまたはフォルダーを開く] ダイアログボックスに /mnt/workspace を入力し、次に [OK] をクリックしてディレクトリを開きます。

    6. コードを実行するには、DSW インスタンス内のカーネルに接続します。

      VS Code の上部にある [Select a Jupyter Kernel] ドロップダウンリストで、推奨される [Python 3 (ipykernel)] カーネルを選択します。

シナリオ:ローカルノートブックを DSW インスタンスで実行

前提条件

本トピックのステップ 1~4 を完了し、SSH 直接接続を設定します。SSH キーペアを生成する際は、パスフレーズを空のままにしてください。

操作手順

  1. ローカルターミナルから、remote_ikernel をインストールし、リモートカーネルを追加します。

    pip install remote_ikernel
    remote_ikernel manage --add \
    --kernel_cmd="ipython kernel -f {connection_file}" \  # 変更は不要です
    --name="Remote Python" \
    --interface=ssh \
    --host=root@*.*.*.*:1024  # ここをホストアドレスに置き換えます。秘密鍵がデフォルトパスにない場合は、--host="-i /your/path/example_rsa root@*.*.*.*:1024" を使用します

    次のメッセージが表示された場合、リモートカーネルは追加されています。

    Added kernel ['rik_ssh_root_121_40_*_*_1024_remotepython']: SSH root@121.40.*.*:1024 Remote Python.

    リモートカーネルの設定を確認するには、次のコマンドを実行します:

    remote_ikernel manage --show
  2. ローカルマシンの VS Code でノートブックファイルを開き、右上隅でカーネルを切り替えます。Remote Python を検索して選択します。

よくある質問

Q: SSH 直接接続と ProxyClient プロキシの違いは何ですか。

SSH 直接接続と ProxyClient プロキシの違い

オプション A:SSH 直接接続 (推奨)

オプション B:ProxyClient プロキシ

機能

VPC や NAT ゲートウェイなどのネットワークコンポーネントが必要です。より高速で安定した接続を提供します。

追加のネットワークコンポーネントは不要ですが、接続速度と安定性が低下する場合があります。

対応インスタンス

パブリックリソースグループで名前が ecs.ebm で始まるインスタンスタイプを除く、すべてのインスタンスタイプ。

すべてのインスタンスタイプ。

認証方法

SSH 公開鍵または秘密鍵認証。

  1. ProxyClient で Alibaba Cloud AccessKey ペアを入力して認証します。

  2. 次に、SSH 公開鍵または秘密鍵で認証します。

アクセス方法

  • パブリックネットワーク経由のアクセス (NAT ゲートウェイと EIP が必要)。

  • VPC 内の内部ネットワーク経由のアクセス。

パブリックネットワーク経由のアクセス。

設定方法

リモート接続:SSH 直接接続

Remote connection: ProxyClient

仕組み

PAI は NAT ゲートウェイに DNAT ルールを自動的に作成し、パブリック SSH リクエストを DSW インスタンスに転送します。

すべてのトラフィックは PAI プロキシサーバー経由で転送されます。

課金に関する注意

パブリックネットワークアクセスの場合、DSW インスタンスを停止しても NAT ゲートウェイと EIP の課金は継続します。不要になったら削除してください。

この設定では追加料金は発生しません。

Q: DSW インスタンスに接続する際の SSH 接続失敗、タイムアウト、または鍵の拒否をトラブルシューティングするにはどうすればよいですか。

カテゴリ別にトラブルシューティングします:

  • パブリックネットワーク接続の失敗

    • セキュリティグループのインバウンドルールで、TCP ポート 22 のトラフィックが許可されていることを確認してください。NAT ゲートウェイ経由で接続する場合、送信元には NAT ゲートウェイが属する vSwitch の CIDR ブロックを指定する必要があります。

    • VPC に複数の Internet NAT ゲートウェイが存在する場合は、「Deploy single-AZ NAT gateways for high availability」を参照して、NAT ゲートウェイ、vSwitch、およびルートテーブル間のルーティング関係を確認してください。

    • Internet NAT ゲートウェイが 1 つだけの場合は、「self-service troubleshooting」を使用してネットワーク接続性を分析してください。

  • VPC 接続の失敗

    • クライアントと DSW インスタンスが同じ VPC にあることを確認してください。dig コマンドを実行して、DSW インスタンスの VPC ドメイン名の DNS 名前解決をテストします。NXDOMAIN が返された場合、DNS 名前解決が機能していません。VPC のプライベート DNS 設定を確認してください。

    • カスタムイメージを使用している場合は、SSH サービスがインストールされ、起動していることを確認してください。詳細については、「ステップ 4:SSH サーバーのインストール」をご参照ください。

    • セキュリティグループのインバウンドルールで、TCP ポート 22 のトラフィックが許可されていることを確認してください。

    • ssh -v root@IP -p port を実行して、詳細な接続情報を取得します。Connection timed out はセキュリティグループまたはネットワーク接続性の問題を示します。Connection refused はポートがリッスンしていないこと (sshd が実行されていないこと) を示します。Connection reset は認証の問題を示します。

  • 鍵の拒否 (Permission denied)

    • 公開鍵 (id_rsa.pub の内容全体) が DSW インスタンスの SSH 設定に追加されていることを確認してください。

    • SSH コマンドで使用している秘密鍵が公開鍵と一致していることを確認してください。秘密鍵がデフォルトパス (~/.ssh/id_rsa) にない場合は、-i パラメーターで指定してください。

    • ~/.ssh/authorized_keys ファイルの権限が 600 であることを確認してください。ls -l ~/.ssh/authorized_keys を実行して確認します。権限が正しくない場合、SSH は公開鍵を拒否します。

  • VS Code 接続の失敗

    • Remote - SSH 拡張機能がインストールされていること、また ssh root@xx.xx.xx.xx -p 1024 のように完全な SSH コマンドを入力したことを確認してください。

    • ローカルターミナルで SSH コマンドを実行して接続をテストします。基本的な接続が成功してから、VS Code の設定を確認してください。

    • 存在しないパイプに関するエラーが表示される場合は、VS Code を再起動するか、Remote - SSH 拡張機能を再インストールしてください。

Q: PyCharm などのローカル IDE を使用して DSW インスタンスにリモート接続できますか。

SSH プロトコルに基づくすべての機能はサポートしています。PyCharm を使用して接続すると、PyCharm はサーバー側コンポーネントを DSW インスタンスに自動的にダウンロードしてインストールします。そのため、DSW インスタンスにはパブリックネットワークアクセスが必要です。

Q: インスタンスのパブリック IP アドレスを確認するにはどうすればよいですか。

Internet NAT ゲートウェイが設定されている場合は、以下の手順でパブリック IP アドレスを確認します:

パブリック IP アドレスを確認する手順

  1. DSW インスタンス一覧ページでインスタンス名をクリックし、インスタンス詳細ページに移動します。

  2. ネットワーク情報 セクションを見つけ、インターネットゲートウェイ をクリックします。IP アドレスは EIP インスタンスページに表示されます。

    インスタンス詳細ページの [基本情報] セクションの [IP アドレス] フィールドには、パブリック IP アドレスが表示されます。

Q: DSW インスタンスは、個別の SSH ログインを持つ複数ユーザーをサポートしますか。

デフォルトでは、DSW インスタンスは SSH ログイン用に root ユーザーのみを提供します。DSW は、分離された SSH ログインを持つ複数の独立ユーザーの作成をサポートしていません。インスタンス内で追加ユーザーを手動で作成することは可能ですが、公式ではサポートされていない運用です。

Q: VS Code や PyCharm などのローカル IDE から DSW インスタンスに接続すると、ワークスペースファイルが表示されないのはなぜですか。

SSH ログイン後のデフォルトディレクトリは、root ユーザーのホームディレクトリ (/root) である場合があります。ワークスペースファイルは通常、マウントされたデータディスク上のディレクトリ (例:/mnt/workspace) に保存されます。VS Code では、[File] > [Open Folder] を選択して、正しい作業ディレクトリを開いてください。

関連ドキュメント

  • この方法がシナリオに合わない場合、または追加のネットワークコンポーネントを設定したくない場合は、ProxyClient を使用してリモート接続してください。