Technical information

Kompiraジョブフローの基礎 公開鍵認証を使ってssh接続をする

Kompiraからリモートサーバーに接続してコマンドを投入する際には、sshで接続を行います。この際、パスワード認証以外に公開鍵認証を利用する事が出来ます。本記事ではKompiraから公開鍵認証を用いてssh接続を行うための設定方法をご紹介します。

本記事では接続対象のサーバーとしてCentOS 7.3およびUbuntu Linux 16.10で動作確認を行っております。

 
証明書の作成

まずはKompiraサーバーにて証明書ファイルを作成します。Kompiraが動いているサーバーにsshを使ってログインしてください。
次のように、ssh-keygen コマンドを使って作成します。

上記の例では以下の2つのファイルが作成されます。
kompira.key   (秘密鍵)
kompira.key.pub (公開鍵)

 
リモートサーバーでの証明書の登録

作成したファイルのうち、公開鍵は接続先のサーバーに、秘密鍵はKompiraを利用するPC等に、それぞれ転送します。
以下の例では接続用のアカウントのホームディレクトリの配下に “.ssh”ディレクトリがあり、その中にある “authorized_keys”ファイル中に公開鍵を転記します。
既存のディレクトリ/ファイルが存在している場合には、 mkdir, touchコマンドは省略してください。またディレクトリ/ファイルの権限については他のアカウントからアクセス出来ないようにしてください。(権限設定が弱いと通信を試みる途中で停止する場合があります。)

 
Kompiraのジョブフローでの利用

下図はKompiraの”アカウント情報”型のオブジェクトの作成例です。
・接続用のアカウントは”kompira”になっています。
・パスワード欄には鍵のパスフレーズを指定します。
・ssh鍵ファイル欄は、PC等に保管した秘密鍵を指定します。
・ssh鍵パスフレーズは、証明書を作成時に指定したパスフレーズを入力します。 (「パスワード」欄に記載がある場合は省略可)

sudoパスワードとssh鍵パスフレーズが異なる環境の場合は、パスワード欄にsudoパスワードを、ssh鍵フレーズ欄にパスフレーズを入力してください。

アカウント

ノード情報は従来同様に作成します。IPアドレスとアカウントの指定は最低限行ってください。

ノード情報

最後にジョブフローですが、例えば以下のように書くことができます。

ジョブフロー

ここでは”hostname”コマンドの実行結果を表示しています。
実行結果

このようにKompiraからはID/パスワード認証だけでなく、公開鍵を利用した接続を行う事が出来ます。