私は5台のLinuxマシンを持っており、各マシンには同じ名前のサービスアカウントがあります。これらはすべて192.168.1.{1,2,3,4,5}
互いにサブネット接続()を持っています。
/etc/hosts
正しいIPを確認して正しいホスト名に追加するスクリプトがあります。各システムは、ssh
他のすべてのシステムに対してパスワードなし(15の重要なパス)を開始できる必要があります。これはすべてうまくいきますが、新しいシステムを追加したりシステムを削除したりする場合は、管理作業がたくさん必要です。私の質問はこれです:
完全に接続されたコンピュータのネットワークが与えられたら、各コンピュータの接続を同時にどのように管理しますか?たとえば、手動でキーを追加し、ホストを編集することなく、すべてのシステムが互いに通信できるようにします。
答え1
簡単に言うと:
ホストキー
ホスト鍵の CA 鍵を作成します。
ssh-keygen -f host_ca
すべてのホストキーに署名し、サーバーにコピーします。
ssh-keygen -s host_ca -I host_foo -h -n foo.bar.com -V +52w /etc/ssh/ssh_host_rsa_key.pub
/etc/ssh/sshd_config
ホストキーに加えて証明書を宣伝するようにサーバー()を設定します。HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub
クライアント(
/etc/ssh/ssh_known_hosts
)(通信用に検索する場合はサーバーも構成)を構成します。@cert-authority *.bar.com ssh-rsa AAAAB3[...]== Comment
確認キー:
ユーザーのCAキーを作成します。
ssh-keygen -f user_ca
このCA(「/etc/ssh/sshd_config」にもあります)で署名されたキーを受け入れるようにサーバーを構成します。
TrustedUserCAKeys /etc/ssh/user_ca.pub
認証キーに署名します。
ssh-keygen -s user_ca -I user_thomas -n thomas,thomas2 -V +52w /path/to/id_rsa.pub
より多くのメモは以下にあります。ハーベツまたはマニュアルページからsshd
。すべての質問に答える必要がありますが、そうでない場合は追加の質問をしてください。