Я установил Git через Nix (на Arch Linux ).
[gorre@uplink ~]$ uname -a
Linux uplink 4.16.9-1-ARCH #1 SMP PREEMPT Thu May 17 02:10:09 UTC 2018 x86_64 GNU/Linux
[gorre@uplink ~]$ nix-env -q
erlang-20.3.2
git-2.16.3
go-1.10.1
google-drive-ocamlfuse-0.6.25
nix-2.0.2
У меня есть файл конфигурации SSH, сохраненный в ~/.ssh/config
:
[gorre@uplink ~]$ cat ~/.ssh/config
# Bitbucket.org
Host bitbucket.org
#RSAAuthentication yes
IdentityFile ~/.ssh/bitbucket_id_rsa
IdentitiesOnly yes
Я на 100% уверен, что набор закрытых / открытых ключей верен.Я использую его все время в SmartGit, но когда я пытаюсь использовать Git через командную строку, я получаю эту ошибку:
[gorre@uplink erlang]$ git pull --rebase
sign_and_send_pubkey: signing failed: agent refused operation
git@bitbucket.org: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Есть ли способ сообщить Git (установленный через Nix)сослаться на мой ~/.ssh/config
файл?
В качестве доказательства, это то, что происходит, когда я "проинструктирую" ssh-agent
временно использовать мой открытый ключ (так что вы можете быть уверены, что у меня естьправильные права):
[gorre@uplink erlang]$ ssh-agent sh -c 'ssh-add ~/.ssh/bitbucket_id_rsa; git pull --rebase'
Enter passphrase for /home/gorre/.ssh/bitbucket_id_rsa:
Identity added: /home/gorre/.ssh/bitbucket_id_rsa (/home/gorre/.ssh/bitbucket_id_rsa)
Already up to date.
Current branch master is up to date.
... после этого я могу летать некоторое время:
[gorre@uplink erlang_simple_cache]$ git pull --rebase
Already up to date.
Current branch master is up to date.