web-dev-qa-db-ja.com

.sshフォルダーに複数のsshキーを含めることはできますか?

複数のsshキーを作成し、それらをユーザーフレンドリーな名前に名前変更して、どのキーがどのWebサイトに対応するかを知ることができますか?.

これは安全ですか?

例えば:

github_id_rsa
github_id_rsa.pub
..
...

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

私のコンピューターでは、known_hostsを見ると、ホスト名の後に同じキーが付いているようです。

34
user27449

はい、異なるSSHキーを使用できます。 GitHubのヘルプサイト Help.GitHub-複数のSSHキー には、非常に優れたドキュメントがあります。基本的に、ssh-addを使用して追加のキーを追加し、エージェントがそれらを利用できるようにします。次に、異なるドメインへのssh接続がここで検索され、適切なキーが使用されるように、ssh hosts構成を設定します。幸運を!

17
ArtemT

〜/ .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

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

49
joehep

複数のユーザーアカウントを持つ任意のサイトに複数の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 [email protected]<personal-account-name>:<personal-account-name>/<repo-name>.git

組織アカウントの場合

git remote add Origin [email protected]<organization-name>:<organization-name>/<repo-name>.git

それが役に立てば幸い。