Существует нет direct способ сказать 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
Вы можете ввести все это в одной строке - игнорируйте $
и не указывайте Существует **нет _direct_ способ** сказать
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
```.