私はクラスター(torque + open-mpi)で遊んでいます。マスターノードと計算ノードがあります。マスターはジョブを計算ノードに送信します。それを行うには、UIDとホームディレクトリを統合するためにNIS + NFSを使用します。リモートコマンドを実行するために、sshとkeychainを使用してパスワードなしのログインを取得します。
すべて大丈夫そうですね。そうではありません。
たとえば、マスターがマスターノードで、ノード1とノード2が計算ノードであるとします。したがって、ジョブを発行するとき、node1とnode2はパスフレーズを要求します。後続のリモートコマンドは、パスフレーズを要求しなくなりました。すべて大丈夫だと思いますか?あんまり :)
30個の新しいノードを追加したとしましょう。すべてのノードで初めてパスフレーズを入力する必要がありますが、これはやや正気ではありません。または、同じ問題で、いくつかのノードを再起動する必要があるとしましょう...
私はopenssh証明書(ssh-keygen -s ...)を試しましたが、同じ問題で、ssh-agentに依存しています。おそらく私が探しているものはやや安全ではありませんが、すべての計算ノードがマスターノードのソケットを使用することを望んでいます。しかし、私はそれを行う方法がわかりません。
不可能のようです NISで管理されているユーザーの公開鍵認証を介したssh 、そうではありませんか?
何か案が?前もって感謝します
ssh-agent
および公開鍵を配布するいくつかの方法(authorized_keys
ユーザーのホームディレクトリにあり、NFSを介してマウントされています)が、要求に対する標準的な回答です。
ボーナスポイントについては、何らかの理由で複数のノードを通過する必要がある場合に、 エージェント転送 を使用して資格情報を渡すことを検討できます。
これが自分の状況で機能しない理由を説明していないので、このソリューションを実装することをお勧めします。