1人のユーザーの複数の公開キー


55

この質問はSSH公開キー認証に似ています-1つの公開キーを複数のユーザーに使用できますか?しかし、それは逆です。

私はsshを使用して実験を行っているので、sshサーバーはあなたの答えに対応します。

同じユーザーに複数の公開鍵リンクを設定できますか?そうすることの利点は何ですか?また、使用するキーごとに異なるホームディレクトリを設定することはできますか(同じユーザーへのすべてのリンク)。

不明な場合はお知らせください。

ありがとう。

回答:


80

必要なだけキーを保持できます。とにかく、個人用のセット、仕事用のセットなど、異なるレルムに別々の秘密/公開キーセットを使用することをお勧めします。

まず、自宅用と職場用の2つの個別のキーペアを生成します。

ssh-keygen -t rsa -f ~/.ssh/id_rsa.home
ssh-keygen -t rsa -f ~/.ssh/id_rsa.work

次に、~/.ssh/configファイルにエントリを追加して、接続するサーバーに基づいて使用するキーを選択します。

Host home
Hostname home.example.com
IdentityFile ~/.ssh/id_rsa.home
User <your home acct>

Host work
Hostname work.example.com
IdentityFile ~/.ssh/id_rsa.work
User <your work acct>

次に、あなたの内容追加id_rsa.work.pubには~/.ssh/authorized_keys、作業機械の上、ご自宅のマシン上のホームキーのために同じことを行います。

次に、ホームサーバーに接続するときにキーの1つを使用し、ワークサーバーで別のキーを使用します。

ssh-agentパスフレーズを常に入力する必要がないように、おそらく両方のキーを追加することに注意してください。


id_rsa.work.pubとid_rsa.home.pubが同じサーバーに配置されていても、これは機能しますか?理由は、異なるコンピューターからサーバーに接続している可能性があるため、同じユーザーとしてサーバーに接続している場合でも、コンピューターごとに異なるキーペアを使用するのが理にかなっているのか疑問です。ありがとう。
ラッセル

2
絶対に!サーバー側では、sshは、一致するものが見つかるまでauthorized_keysファイル内のすべての公開鍵をチェックします。したがって、サーバー上の同じauthorized_keysファイルにすべてのキーを置くことができます。
フィルホレンバック

@PhilHollenback "sshは、一致するものが見つかるまでauthorized_keysファイル内のすべての公開キーをチェックします"-クライアントが公開キーを復号化できることを証明するまで、各公開キーのチャレンジをクライアントに送信し続けますか?そのための参考文献はありますか?(純粋に興味がある)
aaa90210

5

複数のユーザーのキーを1人のユーザーに渡すことは非常に理にかなっています。一般的な理由は次のとおりです。

  • バックアップ
  • git(例Push URL: git+ssh://git@git-server/~/repos/MyProject
  • rsync
  • アプリへの一般的なアクセス

異なるhomedirがある限りenvironment="HOME=/home/user1"、authorized_keysファイルでuser1のキーの先頭に追加することで、キーごとにそれらを変更できます。をご覧くださいman authorized_keys

試してみてください、YMMV。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.