SSHキー・ベース認証の設定
オペレータ・ノードからKubernetesノードへのSSHキー・ベースの認証を設定して検証します。 キー・ペアの作成時にパスフレーズを設定しないでください。これにより、自動プロセスがシームレスに実行されなくなります。 適切なステップを実行して、秘密キーが安全であることを確認します。
Platform CLI (olcnectl
)インストール・コマンドを実行してオペレータ・ノードから次のノードへのログインを有効にするユーザーのSSHキー・ベース認証を設定します:
- 各Kubernetesノード。
- Platform API Serverノード。
次のステップでは、SSHキー・ベースの認証を設定する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. ...
-
秘密キーと公開キーのペアのロケーションを確認します:
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
」拡張子の付いたファイルによって示されます。 -
ターゲット・ノードで公開キーを設定します:
公開キーの内容を、キー・ベースの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
ファイルを手動で移入する必要があります。 次のステップでは、これを実行する方法を示します:-
オペレータ・ノードで、作成した公開キーをファイル・リーダーで開きます。 この例を続けると、次のようになります:
cat /home/user/.ssh/id_rsa.pub
ssh-rsa AQRayc2EAAAABIwAAAQEA6OabJhWABsZ4F3mcjEPT3sxnXx1OoUcvuC... ...OEKX9Kp9QWH+IfASI8q09xQ= user@operator
-
作成した公開キーをコピーします。
-
いずれかのターゲット・サーバーにログインします。
-
キー・ベース・アクセスを設定するユーザーに属する
$HOME/.ssh/authorized_keys
ファイルのロケーションを確認します。 たとえば:ls /home/user/.ssh/authorized_keys
/home/user/.ssh/authorized_keys
-
公開キーを
authorized_keys
ファイルに追加します。 -
ユーザーの
$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
-
残りのターゲット・ノードに対してステップを繰り返します。
-
-
-
ユーザーにオペレータ・ノードからのSSHキー・ベースのアクセス権があることを確認します:
オペレータ・ノードで、
ssh
を使用して他の各ノードに接続し、パスワードの入力を求められることなくログインが成功することを確認します。たとえば、次のようにオペレータ・ノードで
ssh
コマンドを実行して、キー・ベースのSSHアクセスを確認します:ssh user@192.0.2.255
SSHキー・ベース認証の設定の詳細は、「Oracle Linux: OpenSSHを使用したリモート・システムへの接続」を参照してください。