web-dev-qa-db-ja.com

複数のコンピュータ/サービス間で秘密鍵ファイルを共有しても大丈夫ですか?

SSHなどを使って公開鍵/秘密鍵を使用する方法を私たち全員が知っています。しかし、それらを使用/再利用するための最良の方法は何ですか?いつまでも安全な場所に保管しておくべきですか。つまり、GitHubにアクセスするためには一対の鍵が必要でした。私は最初からペアを作成し、しばらくの間それを使ってGitHubにアクセスしました。それから私は自分のHDDをフォーマットし、そのペアをなくしました。大事なことに、私は新しいペアを作成し、その新しいペアを使用するようにGitHubを設定しました。それとも私が失いたくないのですか?

私たちの会社のシステムにアクセスするには、公開鍵と秘密鍵のペアも必要でした。私たちの管理者が私に私の公開鍵を要求し、私は新しいペアを生成してそれを彼に渡しました。一般的には、異なるシステムにアクセスするための新しいペアを作成するのが良いのでしょうか、それとも1つのペアを持って別のシステムにアクセスするのに再利用するのが良いのでしょうか。同様に、2つの異なるペアを作成して1つを自宅から会社のシステムにアクセスするために使用し、もう1つを職場からシステムにアクセスするために使用するのが良いでしょうか。

108
Behrang

あなたは間違いなくOriginごとに別々の秘密鍵を持つべきです。基本的に、これは一般的に各秘密鍵のコピーが1つあるはずであることを意味します(バックアップはカウントしません)。基本的にお互いにアクセスすることができるような状況では、密接に関連したマシンから同じ秘密鍵を使用しても構いません(例えば、それらがお互いのshosts.equivにある場合)。異なる領域(自宅と職場など)のマシンで同じ秘密鍵を使用したり、2人のユーザー間で秘密鍵を共有したり、ラップトップと他のマシン間で秘密鍵を共有したりしないでください。

ほとんどの場合、宛先ごとに異なる秘密鍵を持つことに意味はありません。秘密鍵が危険にさらされた場合、同じディレクトリに格納されている他のすべての秘密鍵も確実に危険にさらされます。そのため、セキュリティ上の利点がないため、複雑な問題が追加されます。

これらの原則に従えば、各キーペアは1つの(マシン、ユーザー)ペアを識別するため、承認管理が容易になります。

Originごとに1つの秘密鍵を使用するという一般的な規則に対する2つの例外が考えられます。

  • 特定のマシン上の特定のコマンド(自動バックアップや通知メカニズムなど)のみにアクセスできるパスワードなしのキーがある場合、そのキーは一般的なシェルアクセスキーとは異なる必要があります。
  • 一部のマシンが断続的に接続されている場合は、新しい秘密キーの展開が完了するまで、新しい秘密キーと一緒に古い秘密キーを持っている可能性があります。
84
Gilles

私は最善の方法が何であるかわかりませんが、私は私の方法がどれであるかわかります。

システム管理者として、私はrootとして各サーバー/サービスにアクセスするために異なるキーを使用します。このようにして、キーが紛失または侵害された場合、そのリスクを単一のサーバーに限定し、すべてのサービスを新しいキーで更新する必要はありません。

ユーザーと言えば、私はそれぞれのユーザーに異なるキーを使います。そのキーを使用すると、ユーザーは非特権ユーザーとして必要なサービスにアクセスできます。このようにして、各ユーザーに単一のサービスへのアクセスを簡単に許可または取り消すことができます。ユーザーが自分のキーを紛失した場合、私はそれをすべてのサービスから削除し、不正アクセスのリスクを抑えることができます。

4
MariusPontmercy

私はあなたがそれにパスフレーズを置く限りあなたが秘密鍵をどこでも使うことができると信じています、あなたがあなたの秘密鍵を少数のマシン、例えばラップトップ1、2、デスクトップ1、2と共有したいなら言うべきことを意味します。

私の経験からすると、私のメインマシンはその強力なプロセッサを使って仕事をしているデスクトップですが、ラップトップをモバイルで使用したり、データセンターでトラブルシューティングをしたりする必要があります。私の公開鍵が存在していること。

1
Grant Skywalker

私の会社では、これらのKeysユーザー固有を使用しています。それはケース2を意味します。ユーザーは自分のキーを持っており、これは会社のシステムへの接続に使用するすべてのマシンに使用されます。私の意見は一つのシステムに一つの鍵を使うことです。つまり、特定のネットワークに接続する必要があるすべてのマシンでこのキーを使用します。あなたの場合は、それがGitHubのための1つのキーと会社のシステムのための1つのキーになります。だから、あなたの管理者があなたにもう一度尋ねるなら、私は彼に前回と同じキーを与えるでしょう。新しいものではありません。しかし、これらの鍵に共通の使用ポリシーがあるかどうかはわかりませんし、それ以降は間違っています。それは確かに可能です;-)

0
Diskilla

あなたが生成した公開鍵は皆のためのものです。それは彼らがa)認証性をチェックすることを可能にするでしょうb)あなたのために暗号化する

秘密鍵は、もちろん秘密です。それはあなただけです。安全な場所で、どこかにバックアップする必要があります。たとえばUSBスティックに保存する場合は、安全なパスワードで暗号化することもできます。

公開鍵は他人に対するあなたの身元です。だから、問題はありません。少なくとも、明示的に新しいIDを使用したくない場合は、すべてのキーに1つのキーペアを使用するほうが良いでしょう。

0
Kissaki