機械翻訳について

SSHキー・ベース認証の設定

オペレータ・ノードからKubernetesノードへのSSHキー・ベースの認証を設定して検証します。 キー・ペアの作成時にパスフレーズを設定しないでください。これにより、自動プロセスがシームレスに実行されなくなります。 適切なステップを実行して、秘密キーが安全であることを確認します。

Platform CLI (olcnectl)インストール・コマンドを実行してオペレータ・ノードから次のノードへのログインを有効にするユーザーのSSHキー・ベース認証を設定します:

  • 各Kubernetesノード。
  • Platform API Serverノード。

次のステップでは、SSHキー・ベースの認証を設定する1つの方法を示します:

  1. 秘密キーと公開キーのペアを生成します:

    オペレータ・ノードで、olcnectlコマンドの実行に使用するユーザーとしてssh-keygenを実行します。 キーのパスフレーズは作成しないでください(パスフレーズの入力を求められたら<Enter>を押します)。 たとえば:

    ssh-keygen

    次のような出力が表示されます:

    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/user/.ssh/id_rsa):<Enter>
    Enter passphrase (empty for no passphrase): <Enter>
    Enter same passphrase again: <Enter>
    Your identification has been saved in /home/user/.ssh/id_rsa.
    Your public key has been saved in /home/user/.ssh/id_rsa.pub.
    ...
  2. 秘密キーと公開キーのペアのロケーションを確認します:

    ssh-keygenコマンド出力で報告されたロケーションに秘密キーと公開キーのペアが作成されていることを確認します:

    ls -l /home/user/.ssh/
    ...
    -rw-------. 1 user user 2643 Jan 10 14:55 id_rsa
    -rw-r--r--. 1 user user  600 Jan 10 14:55 id_rsa.pub
    ...

    公開キーは、「.pub」拡張子の付いたファイルによって示されます。

  3. ターゲット・ノードで公開キーを設定します:

    公開キーの内容を、キー・ベースのSSHが設定されているユーザーの各ターゲット・ノードの$HOME/.ssh/authorized_keysファイルに追加します。 これを行う方法は、次のとおりです:

    • ssh-copy-idコマンドを実行します:

      パスワード認証が有効になっているシステムでは、オペレータ・ノードでssh-copy-idコマンドを実行するオプションがあります。 構文は次のとおりです。

      ssh-copy-id user@host

      プロンプトが表示されたら、ホストのユーザーのパスワードを入力します。 コマンドが正常に完了すると、公開キーの内容がリモート・ホスト上のユーザーの$HOME/.ssh/authorized_keysファイルのコピーに追加されます。

      次の例は、コマンドssh-copy-idを使用して、ホスト192.0.2.255上のユーザーのauthorized_keysファイルに公開キーを追加する方法を示しています :

      ssh-copy-id user@192.0.2.255
      /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user/.ssh/id_rsa.pub"
      /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
      /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
      
      user@192.0.2.255's password: 
      
      Number of key(s) added: 1
      Now try logging into the machine, with:   "ssh 'user@192.0.2.255'"and check to make sure that only the key(s) you wanted were added.
      [user@operator ~]$
    • authorized_keysファイルの手動設定

      ssh-copy-idコマンドへのアクセス権がないか、リモートでパスワードを使用してシステムにアクセスできない場合は、ターゲット・ノードの$HOME/.ssh/authorized_keysファイルを手動で移入する必要があります。 次のステップでは、これを実行する方法を示します:

      1. オペレータ・ノードで、作成した公開キーをファイル・リーダーで開きます。 この例を続けると、次のようになります:

        cat /home/user/.ssh/id_rsa.pub
        ssh-rsa AQRayc2EAAAABIwAAAQEA6OabJhWABsZ4F3mcjEPT3sxnXx1OoUcvuC... 
        ...OEKX9Kp9QWH+IfASI8q09xQ= user@operator
      2. 作成した公開キーをコピーします。

      3. いずれかのターゲット・サーバーにログインします。

      4. キー・ベース・アクセスを設定するユーザーに属する$HOME/.ssh/authorized_keysファイルのロケーションを確認します。 たとえば:

        ls /home/user/.ssh/authorized_keys 
        /home/user/.ssh/authorized_keys
      5. 公開キーをauthorized_keysファイルに追加します。

      6. ユーザーの$HOME/.sshおよび$HOME/.ssh/authorized_keysファイルの権限が正しく設定されていることを確認します:
        • $HOME/.ssh : 次の出力例に示すように、推奨される権限はユーザーに対してread/write/executeで、他のユーザーがアクセスすることはできません:
          drwx------. 2 user user 66 Jan 11 17:33 /home/user/.ssh
        • $HOME/.ssh/authorized_keys : 次の出力例に示すように、推奨されるアクセス権はユーザーの読み取り/書き込みであり、ほかのユーザーがアクセスすることはできません:
          -rw-------. 1 user user 1004 Jan 11 17:36 /home/user/.ssh/authorized_keys
      7. 残りのターゲット・ノードに対してステップを繰り返します。

  4. ユーザーにオペレータ・ノードからのSSHキー・ベースのアクセス権があることを確認します:

    オペレータ・ノードで、sshを使用して他の各ノードに接続し、パスワードの入力を求められることなくログインが成功することを確認します。

    たとえば、次のようにオペレータ・ノードでsshコマンドを実行して、キー・ベースのSSHアクセスを確認します:

    ssh user@192.0.2.255

SSHキー・ベース認証の設定の詳細は、「Oracle Linux: OpenSSHを使用したリモート・システムへの接続」を参照してください。