Gitに他のIdentityFileを使用したい。設定ではなく、動的に使用したい。私はこれをやっています:
$ GIT_SSH_COMMAND='ssh -i /home/my_user/.ssh/id_ed25519' git pull Origin master
repository access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
パブキー "id_ed25519.pub"は私のビットバケットにあります。
そしてこれも失敗します:
$ git pull Origin master
repository access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
そして:
$ git remote -v
Origin [email protected]:company123/repo456.git (fetch)
Origin [email protected]:company123/repo456.git (Push)
追加" - V"'sshの-i /home/my_user/.ssh/id_ed25519'は、私のRSAキーが使用されていることを明らかにしますEDの代わりに。どうして?
最近のUbuntuバージョンでも同じ問題が発生しました。
-vvvを使用すると、次のことが明らかになりました。
debug2: key: /home/ubuntu/.ssh/id_rsa (0x5628e48246d0), agent
debug2: key: /home/ubuntu/code/id_rsa (0x5628e4820af0), explicit
-o IdentitiesOnly=yes
を追加すると解決しました。
完全なgit
コマンド:
GIT_SSH_COMMAND='ssh -o IdentitiesOnly=yes -i /home/ubuntu/code/id_rsa -F /dev/null' git pull
コマンド(gitは直接またはエイリアスを介して呼び出されます)と構成を確認します。
" GIT_SSH_COMMAND
"を使用して述べたように、git config -lは、環境変数をオーバーライドする他の構成を明らかにする可能性があります。
git config core.sshCommand
の戻り値を確認してください。
最後に、GIT_SSH_COMMAND
はGit2.10以降を意味するため、Gitのバージョンが古すぎる場合は、最初に更新する必要があります。