サーバークラスタ内の2つのノード間でパスワードのないSSHログインを実装する方法

サーバークラスタ内の2つのノード間でパスワードのないSSHログインを実装する方法

サーバークラスター内の2つのノード間でパスワードのないログインを実装する方法に関する問題が発生しました。これで、次のIPアドレスを持つ10個のノードで構成されるサーバークラスタがあります。

192.168.0.1 # node1
192.168.0.2 # node2
...
192.168.0.10 # node10

これら3つのノードの私のユーザー名は、xyzこのノードのシステムと同じですUbuntu14.04

これは多くの場所で回答する必要がある標準的な質問のようですが、Googleを使用した検索では2つのノードソリューションのみが通知されます。たとえば、生成された公開鍵をファイルnode1に渡し、残りのノードでパスワードのないログインを許可します。しかし、このアプローチをサーバークラスタの2つのノードに拡張するにはどうすればよいですか?各ノードで公開鍵を手動で生成し、各ノードの公開鍵を残りのノードにコピーする必要がありますか?一般的で便利な方法はありますか?authorized_keysnode2, ..., node10node1

ベストアンサー1

クラスタ設定がある場合は、共有ファイルシステムが存在する可能性があります。その場合は、単にSSHキーをサーバー自体に追加するだけです。別のサーバーに接続すると、認証されたキーのリストで自分のキーを見つけます。その後、すべてのサーバーから任意のサーバーに接続できます。

異なるファイルシステムがある場合は、これを手動で実行する必要があります。このxyzユーザーとは異なるサーバー用にssh-copy-id新しいSSHキーを生成できます。これはサーバーの数に応じたN²拡張と似ていますが、これは悪いことです。

SSHキーを生成してすべてのコンピュータにコピーできます/home/xyz/.ssh/id_rsaid_rsa.pub次に、このキーをすべてのシステムに登録します。これで、同じSSHキーを使用してすべてのサーバーから別のサーバーにログインできます。

scpこれを展開するには、-loopを使用してforサーバーを繰り返すクイックスクリプトを作成します。

おすすめ記事