インスタンスへの接続

Secure Shell (SSH)接続またはリモート・デスクトップ接続を使用して実行中のインスタンスに接続できます。ほとんどのUnixスタイル・システムには、デフォルトでSSHクライアントが含まれています。Windows 10およびWindows Server 2019システムには、通常、OpenSSHクライアントが含まれます。これは、Oracle Cloud Infrastructureによって生成されたSSHキーを使用してインスタンスを作成した場合に必要になります。その他のWindowsバージョンの場合、PuTTYという無料のSSHクライアントをhttp://www.putty.orgからダウンロードできます。

必要なIAMポリシー

SSHを使用して実行中のインスタンスに接続する際に、アクセス権を付与するIAMポリシー は必要ありません。ただし、SSHに対してインスタンスのパブリックIPアドレスが必要です(次の前提条件を参照)。インスタンスを起動できるポリシーがある場合、そのポリシーでインスタンスのIPアドレスも取得できる可能性があります。両方に対応する最も単純なポリシーは、ユーザーにコンピュート・インスタンスを起動させるを参照してください。

管理者向け: 制限の厳しいポリシーでは、指定されたグループが既存のインスタンスのIPアドレスを取得して、インスタンスに対して電源アクション(停止や開始など)を使用することはできますが、インスタンスの起動または終了は行えないようにします。このポリシーでは、インスタンスとクラウド・ネットワークが1つのコンパートメント(XYZ)にまとめられていると仮定しています:

Allow group InstanceUsers to read virtual-network-family in compartment XYZ
Allow group InstanceUsers to use instance-family in compartment XYZ
ポリシーを初めて使用する場合は、ポリシーの開始共通ポリシーを参照してください。インスタンス、クラウド・ネットワーク、または他のCore Services APIリソースのポリシーを作成するための参照資料については、コア・サービスの詳細を参照してください。

前提条件

インスタンスに接続するには、次の情報が必要です:

  • インスタンスのパブリックIPアドレス。このアドレスは、コンソールのインスタンスの詳細ページで取得できます。ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。次に、インスタンスを選択します。または、Core Services APIListVnicAttachments操作とGetVnic操作を使用することもできます。
  • インスタンスのデフォルトのユーザー名。Linux、CentOSまたはWindowsのプラットフォーム・イメージを使用してインスタンスを起動した場合、ユーザー名はopcです。Ubuntuプラットフォーム・イメージを使用してインスタンスを起動した場合、ユーザー名はubuntuです。
  • Linuxインスタンスの場合: インスタンスの起動時に使用したSSHキー・ペアの秘密キー部分のフルパス。キー・ペアの詳細は、Linuxインスタンスでのキー・ペアの管理を参照してください。
  • Windowsインスタンスの場合: 初めてインスタンスに接続する場合、そのインスタンスの初期パスワードが必要です。このパスワードは、コンソールのインスタンスの詳細ページで取得できます。

Linuxインスタンスへの接続

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

UNIXスタイル・システムからLinuxインスタンスに接続するには
  1. 次のコマンドを使用して、自分のみがファイルを読み取ることができるようにファイルのアクセス権を設定します:

    chmod 400 <private_key_file>

    <private_key_file>は、アクセスするインスタンスに関連付けられた秘密キーを含むファイルのフルパスおよび名前です。

  2. 次のSSHコマンドを使用してインスタンスにアクセスします。

    ssh –i <private_key_file> <username>@<public-ip-address>

    <private_key_file>は、アクセスするインスタンスに関連付けられた秘密キーを含むファイルのフルパスおよび名前です。

    <username>は、インスタンスのデフォルトのユーザー名です。Oracle LinuxイメージとCentOSイメージの場合、デフォルトのユーザー名はopcです。Ubuntuイメージの場合、デフォルトのユーザー名はubuntuです。

    <public-ip-address>は、コンソールから取得したインスタンスのIPアドレスです。

OpenSSHを使用してWindowsシステムからLinuxインスタンスに接続するには

Oracle Cloud Infrastructureによって生成されたキー・ペアをインスタンスで使用する場合は、次の手順を使用します。

  1. このキー・ペアを初めて使用する場合は、自分のみがファイルを読み取ることができるようにファイル権限を設定する必要があります。次を行います:

    1. Windowsエクスプローラで秘密キー・ファイルに移動し、ファイルを右クリックして「プロパティ」をクリックします。
    2. 「セキュリティ」タブで、「詳細設定」をクリックします。
    3. 「所有者」が自分のユーザー・アカウントであることを確認します。
    4. 「継承の無効化」をクリックし、「継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変換します」を選択します。
    5. 自分のユーザー・アカウントではない各アクセス許可エントリを選択して、「削除」をクリックします。
    6. 自分のユーザー・アカウントのアクセス許可が「フル コントロール」であることを確認します。
    7. 変更を保存します。
  2. インスタンスに接続するには、Windows PowerShellを開き、次のコマンドを実行します:

    ssh –i <private_key_file> <username>@<public-ip-address>

    <private_key_file>は、アクセスするインスタンスに関連付けられた秘密キーを含むファイルのフルパスおよび名前です。

    <username>は、インスタンスのデフォルトのユーザー名です。Oracle LinuxイメージとCentOSイメージの場合、デフォルトのユーザー名はopcです。Ubuntuイメージの場合、デフォルトのユーザー名はubuntuです。

    <public-ip-address>は、コンソールから取得したインスタンスのIPアドレスです。

PuTTYを使用してWindowsシステムからLinuxインスタンスに接続するには

Oracle Cloud Infrastructureによって生成されたSSH秘密キー・ファイルは、PuTTYと互換性がありません。インスタンス作成プロセス中に生成された秘密キー・ファイルを使用している場合は、PuTTYで使用してインスタンスに接続する前に、そのファイルを.ppkファイルに変換する必要があります。

生成された.key秘密キー・ファイルを変換します:

  1. PuTTYgenを開きます。

  2. 「ロード」をクリックし、インスタンスの作成時に生成された秘密キーを選択します。キー・ファイルの拡張子は.keyです。

  3. 「秘密キーの保存」をクリックします。

  4. キーの名前を指定します。新しい秘密キーの拡張子は.ppkです。

  5. 「保存」をクリックします。

.ppk秘密キー・ファイルを使用してLinuxインスタンスに接続します:

PuTTYキー・ジェネレータを使用して作成したキー・ペアをインスタンスで使用する場合は、次の手順を使用します。

  1. PuTTYを開きます。
  2. 「Category」ペインで、「Session」を選択して次のように入力します:

    • ホスト名(またはIPアドレス):

      <username>@<public-ip-address>

      <username>は、インスタンスのデフォルトのユーザー名です。Oracle LinuxイメージとCentOSイメージの場合、デフォルトのユーザー名はopcです。Ubuntuイメージの場合、デフォルトのユーザー名はubuntuです。

      <public-ip-address>は、コンソールから取得したインスタンスのパブリックIPアドレスです

    • Port: 22
    • Connection type: SSH
  3. 「Category」ペインで、「Window」を展開してから「Translation」を選択します。
  4. 「Remote character set」ドロップダウン・リストで、「UTF-8」を選択します。Linuxベース・インスタンスでのデフォルト・ロケール設定はUTF-8で、これによって同じロケールを使用するようPuTTYが構成されます。
  5. 「Category」ペインで、「Connection」を展開してから「SSH」を展開し、「Auth」をクリックします。
  6. 「Browse」をクリックして.ppk秘密キー・ファイルを選択します。

  7. 「Open」をクリックしてセッションを開始します。

    最初にインスタンスに接続する場合、サーバーのホスト・キーがレジストリにキャッシュされていないというメッセージが表示されることがあります。「Yes」をクリックして接続を続行します。

ヒント

接続に失敗した場合は、PuTTYプロキシ構成の更新が必要になることがあります。

Windowsインスタンスへの接続

リモート・デスクトップ接続を使用してWindowsインスタンスに接続できます。ほとんどのWindowsシステムには、デフォルトでリモート・デスクトップ・クライアントが含まれています。

Windowsインスタンスへのリモート・デスクトップ・プロトコル(RDP)を有効にするには、ソース0.0.0.0/0および任意のソース・ポートからの宛先ポート3389でのTCPトラフィックに対してステートフル・イングレス・セキュリティ・ルールを追加する必要があります。このセキュリティ・ルールは、そのWindowsインスタンスが属するネットワーク・セキュリティ・グループ、またはインスタンスのサブネットで使用されるセキュリティ・リストのいずれかで実装できます。

RDPアクセスを有効にするには
  1. ナビゲーション・メニューを開き、「ネットワーキング」「仮想クラウド・ネットワーク」の順にクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメント内のリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 関心のあるクラウド・ネットワークをクリックします。
  4. インスタンスが属しているネットワーク・セキュリティ・グループにルールを追加するには:

    1. 「リソース」で、「ネットワーク・セキュリティ・グループ」をクリックします。次に、関心のあるネットワーク・セキュリティ・グループをクリックします。
    2. 「ルールの追加」をクリックします。
    3. ルールの次の値を入力します:

      • ステートレス: このチェック・ボックスは選択を解除したままにします
      • ソース・タイプ: CIDR
      • ソースCIDR: 0.0.0.0/0
      • IPプロトコル: RDP (TCP/3389)
      • ソース・ポート範囲: すべて
      • 宛先ポート範囲: 3389
      • 説明: ルールの説明(オプション)。
    4. 終了したら、「追加」をクリックします。
  5. あるいは、インスタンスのサブネットによって使用されるセキュリティ・リストにルールを追加するには:

    1. 「リソース」で、「セキュリティ・リスト」をクリックします。次に、関心のあるセキュリティ・リストをクリックします。
    2. 「イングレス・ルールの追加」をクリックします。
    3. ルールの次の値を入力します:

      • ステートレス: このチェック・ボックスは選択を解除したままにします
      • ソース・タイプ: CIDR
      • ソースCIDR: 0.0.0.0/0
      • IPプロトコル: RDP (TCP/3389)
      • ソース・ポート範囲: すべて
      • 宛先ポート範囲: 3389
      • 説明: ルールの説明(オプション)。
    4. 終了したら、「イングレス・ルールの追加」をクリックします。
リモート・デスクトップ・クライアントからのWindowsインスタンスへの接続
  1. リモート・デスクトップ・クライアントを開きます。
  2. 「コンピュータ」フィールドに、インスタンスのパブリックIPアドレスを入力します。パブリックIPアドレスはコンソールから取得できます。
  3. 「ユーザー名」opcです。使用しているリモート・デスクトップ・クライアントによっては、この資格証明を入力する前にインスタンスに接続する必要があります。
  4. 「接続」をクリックしてセッションを開始します。
  5. プロンプトが表示されたら、証明書を受け入れます。
  6. インスタンスに初めて接続する場合は、インスタンスの起動時にOracle Cloud Infrastructureによって提供された初期パスワードを入力します。ログイン直後に、パスワードの変更を求められます。新規パスワードは12文字以上の長さで、Microsoftのパスワード・ポリシーに準拠している必要があります。

    それ以外の場合は、作成したパスワードを入力します。カスタム・イメージを使用している場合、イメージの作成元のインスタンスのパスワードが必要になることがあります。Windowsカスタム・イメージの詳細は、Windowsカスタム・イメージの作成を参照してください。

  7. [Enter]を押します。

SSH接続のトラブルシューティング

SSHを使用してインスタンスに接続できない場合は、次のトラブルシューティング・ステップに従って一般的な問題を特定します。

  • 接続の確認: ターミナル・ウィンドウで、nc <public ip> 22を実行します。
    • SSHバナーが表示された場合: SSHを使用してインスタンスに正常に接続しました。根本的な問題は権限に関連している可能性があります。次のステップとして、資格証明を確認します。インスタンスへのSSHに使用している資格証明が正しくない場合、接続は失敗します。

      Linuxインスタンスでは、インスタンスの起動時に使用したSSHキー・ペアの秘密キー部分のフルパスが必要です。キー・ペアの詳細は、Linuxインスタンスでのキー・ペアの管理を参照してください。Windowsインスタンスでは、インスタンスに初めて接続する場合、そのインスタンスの初期パスワードが必要です。このパスワードは、コンソールのインスタンスの詳細ページで取得できます。

    • SSHバナーが表示されない場合: ネットワークの問題により、SSH接続が成功しない可能性があります。次の提案を確認してください。
  • パブリックIPアドレスの追加: 接続がインターネット経由でルーティングされている場合、インスタンスに接続するには、インスタンスにパブリックIPアドレスが必要です。パブリックIPアドレスがない場合、インスタンスにアクセスできません。インスタンスでパブリックIPv4アドレスを管理する方法の詳細は、パブリックIPアドレスに関する項を参照してください。
  • ネットワーク・セキュリティ・リストの検証: Oracle Cloud Infrastructureは、SSHトラフィックを許可するセキュリティ・リストのデフォルト・セットを各クラウド・ネットワークにプロビジョニングします。SSH接続を許可するセキュリティ・リストが削除されると、インスタンスにアクセスできなくなります。ポート22を開くセキュリティ・リストが存在することを確認します。コンソールを使用して、セキュリティ・リストを表示および管理できます。セキュリティ・リストの詳細は、セキュリティ・リストに関する項を参照してください。
  • インスタンスでSSHが実行されていることの確認: SSHが実行されていることを確認するステップは、オペレーティング・システムによって異なります。ご使用のオペレーティング・システムのドキュメントを確認して、SSHが実行されていることを確認する方法の説明を参照してください。
  • シリアル・コンソール履歴の取得: インスタンスのシリアル・コンソール・データ履歴を取得するには、CLIでconsole-historyリソースを使用します。この情報は、接続の問題の原因を特定するのに役立ちます。詳細は、console-historyに関する項およびコマンドライン・インタフェース(CLI)に関する項を参照してください。

    CLIを使用してインスタンスのシリアル・コンソール・データ履歴を取得する場合、完全な履歴を確実に取得するには、次のオプションを含める必要があります。このオプションを指定しないと、データが切り捨てられる可能性があります: --length 10000000

  • シリアル・コンソールへの接続: シリアル・コンソール接続を使用すると、正常に動作していないインスタンスをリモートからトラブルシューティングできます。詳細は、インスタンス・コンソール接続を使用したインスタンスのトラブルシューティングを参照してください。