Skip to main content

Error: Key already in use

このエラーは、既に別のアカウントまたはリポジトリに追加されているキーを追加しようとすると発生します。

キーが使用されている場所を見つける

キーが既に使用されている場所を判断するには、ターミナルを開いて、ssh コマンドを入力します。 -i フラグを使用して、確認するキーへのパスを指定します。

$ ssh -T -ai ~/.ssh/id_rsa git@ホスト名
# Connect to your GitHub Enterprise Server instance using a specific ssh key
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.

応答内の username は、キーが現在アタッチされている your GitHub Enterprise Server instance 上のアカウントです。 応答が "username/repo" のように表示されている場合、キーは、"デプロイ キー" としてリポジトリにアタッチされています。

コマンド ラインに指定されているキーのみを SSH に使用するように強制するには、-o を使用して、IdentitiesOnly=yes オプションを追加します。

$ ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa git@ホスト名

問題の解決

Issue を解決するには、まず他のアカウントまたはリポジトリからキーを削除して、次にアカウントに追加します。

キーを転送する権限を持っておらず、権限を持つユーザーに連絡できない場合は、そのキーペアを削除して、新しいキーペアを生成します。

デプロイ キー

キーがリポジトリにデプロイキーとして一度添付されたら、他のリポジトリで使用することはできません。 デプロイ キーの設定中にこのエラーが発生した場合は、「Managing deploy keys」 (デプロイキーの管理) を参照してください。