web-dev-qa-db-ja.com

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

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

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

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

不明な点があればお知らせください。

ありがとう。

58
Russell

キーはいくつでも持つことができます。個人用と仕事用のように、異なる領域に個別の秘密鍵/公開鍵セットを使用することをお勧めします。

まず、自宅用と職場用の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に追加したい場合があるので、常にパスフレーズを入力する必要はありません。

85
Phil Hollenback

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

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

異なるホームディレクトリがある限り、authorized_keysファイルでuser1のキーの前にenvironment="HOME=/home/user1"を追加することで、キーごとに変更できます。 man authorized_keysをご覧ください。

YMMVをお試しください。

5
MikeyB