Там нет нет прямого способа сказать , gitкоторый секретный ключ использовать, потому что она опирается на sshдля аутентификации в хранилище. Тем не менее, есть еще несколько способов достижения вашей цели:
Опция 1: ssh-agent
Вы можете использовать ssh-agentдля временной авторизации вашего личного ключа.
Например:
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
Вариант 2: GIT_SSH_COMMAND
Передайте аргументы ssh, используя GIT_SSH_COMMANDпеременную окружения (Git 2.3.0+).
Например:
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
Вы можете напечатать все это в одной строке - игнорируйте $и пропустите \.
Вариант 3: GIT_SSH
Передайте аргументы ssh, используя GIT_SSHпеременную окружения, чтобы указать альтернативный sshдвоичный файл.
Например:
$ echo 'ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $*' > ssh
$ chmod +x ssh
$ GIT_TRACE=1 GIT_SSH='./ssh' git clone user@host
Примечание. Вышеуказанные строки являются командными строками оболочки (терминала), которые вы должны вставить в свой терминал. Они создадут файл с именем ssh, сделают его исполняемым и (косвенно) выполнят его.
Примечание: GIT_SSHдоступно с версии v0.99.4 (2005).
Вариант 4: ~/.ssh/config
Используйте ~/.ssh/configфайл, как предложено в других ответах, чтобы указать местоположение вашего личного ключа, например
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa