複数の開発マシンがあります (それぞれアプリケーションや環境が異なる場合がありますが、すべて 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