.sshフォルダーに複数のsshキーを設定できますか?


30

複数のsshキーを作成し、それらの名前をわかりやすい名前に変更して、どのキーがどのWebサイトなどに対応しているかを確認できますか。

これは安全ですか?

例えば:

github_id_rsa
github_id_rsa.pub
..
...

接続時にチェックするキーをどのように知るのでしょうか?

私のコンピューターでは、known_hostsを見ると、ホスト名の後に同じキーがすべてあるように見えますか?



また、既知のホストキーは間違いなく同じではなく、各ホストの行の終わりを見てください。
-slhck

回答:


15

はい、異なるsshキーを使用できます。Help.GitHub-Multiple SSH KeysのGitHubヘルプサイトに非常に優れたドキュメントがあります。基本的に、ssh-addを使用して追加のキーを追加し、エージェントがそれらを使用できるようにします。次に、異なるドメインへのssh接続がここで検索され、適切なキーが使用されるように、sshホスト設定をセットアップします。がんばろう!


1
リンクが機能しなくなった
ダンウェルマン


44

ファイル〜/ .ssh / configを変更して、サーバーごとに異なるIDファイルを使用できます。お気に入りのエディターで〜/ .ssh / configを編集し、次のような状況に適したエントリーを追加します。

Host *
IdentityFile ~/.ssh/id_rsa

Host *.github.*
IdentityFile ~/.ssh/github_id.rsa

Host *.someother.com
IdentityFile ~/.ssh/someother_id.rsa

上記の最初の部分はすべてのホストのデフォルトを設定し、他のセクションはパターンに一致する各ホストに使用すべきものをオーバーライドします。ホストごとに異なるユーザー名を持っている場合は、ユーザーキーを追加してからリモートのユーザー名をセクションに追加できます。


3
これは、GitHubであろうと他のサイトであろうと、宛先に関係なく、この質問に対する最も有用な答えです。
ピエール

複数のbitbucketアカウントがあり、残念ながらそれぞれに異なるキーが必要な場合、これは機能しません。
ジョンリトル

chmod 400 ~/.ssh/id_rsaまたはchmod 400 ~/.ssh/foo_id.rsa必要な場合があります。
T.Woody

@JohnLittle同じドメインのマルチユーザーアカウントを解決する私の答えをご覧ください。
Sathishkumar Rakkiasamy

4

複数のユーザーアカウントを持つサイトには複数のsshキーを設定できます

以下は、GitHub.comの開発で使用した例です

構成ファイルの例

#Personal account
 Host github.com-<personal-account-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_personal
 IdentitiesOnly yes



#Organization account
 Host github.com-<organization-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_work
 IdentitiesOnly yes

新しい原点を追加するとき

個人アカウントの場合

git remote add origin git@github.com-<personal-account-name>:<personal-account-name>/<repo-name>.git

組織アカウントの場合

git remote add origin git@github.com-<organization-name>:<organization-name>/<repo-name>.git

それが役に立てば幸い。

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