複数のUbuntuサーバーにユーザーを作成する

複数のUbuntuサーバーにユーザーを作成する

複数の開発マシンがあります (それぞれアプリケーションや環境が異なる場合がありますが、すべて Ubuntu 14.04 です)。

新しいメンバーが加わったら、すべてのマシンにそのメンバーのアカウントを作成し、authorized_keys がすべて同じであることを確認する必要があります。

アカウントを一度作成するだけで、すべてのサーバーにログインできる(SSH キーを使用)方法またはメカニズムはありますか。

答え1

一度、シンプルなデザインでこれをやってみました。

  • 開発環境とテスト環境の /home パーティションを同じディスクにマウントしました。
  • この方法では、ユーザーのホーム ディレクトリは、Dev サーバー上にあるかテスト サーバー上にあるかに関係なく同じになります。

上記のアイデアはうまくいきましたが、サーバーが少数で、ユーザーもそれなりに知識があったため、お勧めしません。

問題:

1) ユーザーが Dev のホーム ディレクトリで何かを削除した場合、Test でもそれが消去されることに気付かないことを考慮すると、これは非常に悪いアイデアです。

2) 上位環境に誰がログインできるかを制御できないため、アクセス制御が難しくなります。

そのため、私の定番のアプローチは、スクリプトを使用して、必要に応じて環境/サーバー間でアカウント設定を移動することです。

tar cvf - /home/<username> | ssh <servername> " (cd /home/<username> ; tar xvf - ) "

答え2

より良い管理方法は、puppet や chef などの構成管理ツールを使用することです。これらのツールは、ユーザーの作成、認証キー、または繰り返しの作業を自動化し、作業を軽減するのに役立ちます。ただし、すべてのサーバーで root ユーザーのパスワード ログインがない場合は、スクリプトを作成できますssh <host> "useradd [options] username"https://puppetlabs.com

関連情報