Там нет нет прямого способа сказать , 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