ホストキー

ホストキー

私は5台のLinuxマシンを持っており、各マシンには同じ名前のサービスアカウントがあります。これらはすべて192.168.1.{1,2,3,4,5}互いにサブネット接続()を持っています。

/etc/hosts正しいIPを確認して正しいホスト名に追加するスクリプトがあります。各システムは、ssh他のすべてのシステムに対してパスワードなし(15の重要なパス)を開始できる必要があります。これはすべてうまくいきますが、新しいシステムを追加したりシステムを削除したりする場合は、管理作業がたくさん必要です。私の質問はこれです:

完全に接続されたコンピュータのネットワークが与えられたら、各コンピュータの接続を同時にどのように管理しますか?たとえば、手動でキーを追加し、ホストを編集することなく、すべてのシステムが互いに通信できるようにします。

答え1

簡単に言うと:

ホストキー

  1. ホスト鍵の CA 鍵を作成します。

    ssh-keygen -f host_ca
    
  2. すべてのホストキーに署名し、サーバーにコピーします。

    ssh-keygen -s host_ca -I host_foo -h -n foo.bar.com -V +52w /etc/ssh/ssh_host_rsa_key.pub 
    
  3. /etc/ssh/sshd_configホストキーに加えて証明書を宣伝するようにサーバー()を設定します。

    HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub
    
  4. クライアント(/etc/ssh/ssh_known_hosts)(通信用に検索する場合はサーバーも構成)を構成します。

    @cert-authority *.bar.com ssh-rsa AAAAB3[...]== Comment
    

確認キー:

  1. ユーザーのCAキーを作成します。

     ssh-keygen -f user_ca
    
  2. このCA(「/etc/ssh/sshd_config」にもあります)で署名されたキーを受け入れるようにサーバーを構成します。

    TrustedUserCAKeys /etc/ssh/user_ca.pub
    
  3. 認証キーに署名します。

     ssh-keygen -s user_ca -I user_thomas -n thomas,thomas2 -V +52w /path/to/id_rsa.pub
    

より多くのメモは以下にあります。ハーベツまたはマニュアルページからsshd。すべての質問に答える必要がありますが、そうでない場合は追加の質問をしてください。

関連情報