複数のマシンで公開鍵ベースのsshログインを使用する場合、1つの秘密鍵を使用して、すべてのマシンに同じ公開鍵を設定しますか?または、接続ごとに1つの秘密/公開キーペアがありますか?
複数のマシンで公開鍵ベースのsshログインを使用する場合、1つの秘密鍵を使用して、すべてのマシンに同じ公開鍵を設定しますか?または、接続ごとに1つの秘密/公開キーペアがありますか?
回答:
適切に理解すれば、各サーバーは独自の公開鍵を持ちます。
特定のユーザーに対して、秘密鍵がすべての開始ホストに複製される限り、1つの鍵を生成してどこでも使用できます。(これは、ネットワークにマウントされたホームディレクトリとOpenLDAPなどのディレクトリベースの認証システムを介して自動的に行われます。ユーザーがログインするワークステーションに関係なく、ユーザーは常に「同じ」だからです。)
ディレクトリベースのユーザーシステムの外では、どこでも同じキーを使用するのは悪い考えだと思います-ワークステーションのいずれかからキーを取得できる人は誰でも認証できるため、システムセキュリティが最終的に低下しますそのユーザーをリモートサーバーに。
いくつかの大企業(と私も確信している)に採用されている別の選択肢は、「ユーザー」に事前共有キーの使用を許可せず、「ジャンプ」または「ハブ」ボックスにログインさせることです。 、su
適切な接続ユーザーに接続し、そこから管理する必要があるサーバーにSSHで接続します。
また、HPのServer Automationプラットフォームのような管理システムを使用する場合、管理対象サーバーのリモート管理はより単純化されたプロセスになります。
su
ただし、セッションはログに記録されるため、監査可能です。
su
セッションのみが監査可能であり、他のセッションは監査できないのはなぜですか?
他の人が言ったように、複数のキーペアのアイデアはより安全に見えるかもしれませんが、それらがすべて同じ場所にあるような方法で使用される可能性がある場合、それはより面倒で安全ではありません。複数のパスフレーズを使用すると、より安全になりますが、どのパスフレーズがどのキーに、どのキーがどのサーバーに対応するかを思い出そうとする大きな頭痛の種にもなります。
私にとって最も合理的な答えは、それがあまり重ならない別々の管理役割を含む場合にのみそれを行うことを提案されたものでしょう。そのため、さまざまな役割を処理するさまざまな人、またはさまざまなワークステーションなどになります。その場合は、とにかくそれぞれの異なる役割に対処するよりユニークなものがあるので、より正当化できます。
複数のSSH対応サーバーを管理しやすくするために、csshをチェックアウトすることをお勧めします。csshとパスフレーズSSHキーを組み合わせて、複数のサーバーを同時に管理する機能を大幅に強化できます。