SSHを使用したクラスタ・ノードへの接続

コマンド・シェルを介してビッグ・データ・サービス・クラスタ・ノードに接続するには、Secure Shell (SSH)を使用します。

SSHキー・ペアがクラスタの作成時に作成され、公開キーがクラスタのすべてのノードにインストールされます。クラスタの作成を参照してください。他のキー・ペアの作成の詳細は、Linuxインスタンスでのキー・ペアの管理を参照してください。

前提条件
SSHを使用してクラスタに接続するには、必要です:
  • クラスタに割り当てられた公開キーに関連付けられたSSH秘密キーへのアクセス権があります。

    秘密キー・ファイルに対する権限では、読取り/書込み/実行アクセスを許可する必要がありますが、他のユーザーがファイルにアクセスできないようにする必要があります。たとえば、適切な権限を設定するには、chmod 600 ~/.ssh/my_keys/my_host_key_filenameと入力します。権限が正しく設定されず、他のユーザーが秘密キー・ファイルにアクセスできる場合、SSHユーティリティは秘密キー・ファイルを無視します。

  • 接続先のノードのパブリックIPアドレスを確認します。IPアドレスを確認するには、Oracle Cloudコンソールの「ノードの詳細」ページを参照します。クラスタ・ノードの詳細の取得を参照してください。
  • ポート22が開いていることを確認します。セキュリティ・ルールの定義を参照してください。
コマンドラインでのSSHを使用したクラスタへの接続:

パブリック・サブネット内のノードに接続するには:

  1. 次のコマンドを使用して、自分のみがファイルを読み取ることができるようにファイルのアクセス権を設定します:
    $ chmod 400 <private_key>

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

  2. 次のSSHコマンドを使用してクラスタにアクセスします。
    $ ssh –i <private_key> <username>@<public-ip-address>

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

    <username>は、クラスタのデフォルト名です。デフォルトのユーザー名はopcです。

    <public-ip-address>は、アクセスするクラスタ・ノードのパブリックIPアドレスです。

ノート

SSH秘密キーが、SSHユーティリティが予測するファイルまたはパスに格納されていない場合(たとえば、SSHユーティリティが秘密キーを~/.ssh/id_rsaに格納することを期待している場合があります)、2つのうちいずれかの方法で秘密キー・ファイル名と場所を明示的に指定する必要があります:

  • -iオプションを使用して、秘密キーのファイル名と場所を指定します。たとえば、ssh -i ~/.ssh/my_keys/my_host_key_filename opc@192.0.2.254です
  • 秘密キーのファイル名と場所を、SSH構成ファイル、クライアント構成ファイル(~/.ssh/config) (存在する場合)またはシステム全体のクライアント構成ファイル(/etc/ssh/ssh_config)に追加します。たとえば、次を追加する場合があります: Host 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename

SSHユーティリティの構成ファイルの詳細は、man ssh_configと入力します

SSHを使用したプライベート・サブネット内のノードへの接続

プライベート・サブネットのワーカー・ノードには、プライベートIPアドレスのみがあります(パブリックIPアドレスはありません)。VCN内の他のリソースからのみアクセスできます。要塞ホストを使用して、プライベート・サブネットのワーカー・ノードへの外部アクセス(SSHなど)を制御することをお薦めします。要塞ホストはパブリック・サブネットにあり、パブリックIPアドレスを持ち、インターネットからアクセスできます。要塞ホストの詳細は、要塞のドキュメントを参照してください。

Microsoft WindowsでのPuTTYを使用した接続
  1. putty.exeを開きます。
  2. 「Category」ペインで、「Window」を展開してから「Translation」を選択します。
  3. 「Remote character set」ドロップダウン・リストで、「UTF-8」を選択します。Linuxベース・インスタンスでのデフォルト・ロケール設定はUTF-8で、これによって同じロケールを使用するようPuTTYが構成されます。
  4. 「Category」ペインで、「Session」を選択して次のように入力します:

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

      <username>@<public-ip-address>

      <username>は、インスタンスのデフォルト名です。デフォルトのユーザー名はopcです。

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

    • ポート: 22

    • 接続タイプ: SSH

  5. 「Category」ペインで、「Connection」を展開してから「SSH」を展開し、「Auth」をクリックします。
  6. 「Browse」をクリックして秘密キーを選択します。
  7. 「Open」をクリックしてセッションを開始します。

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

インスタンスでの管理タスクの実行

デフォルト・ユーザーのopcとしてログインしている場合、sudoコマンドを使用して、クラスタへのアクセスに使用するユーザーおよびグループの作成など、管理タスクを実行できます。