В настоящее время я запускаю из своего приложения Java команду git, например:
bash -c GIT_SSH_COMMAND='ssh -i ~/secret/other_key' git clone ssh_repo .
Я запускаю ее с GIT_SSH_COMMAND
, так что я могу заставить git использовать конкретный ключ, чтобы он не пытался подобрать мои обычные ключи, доступные на моей машине.
Проблема, с которой я сталкиваюсь, заключается в том, что по какой-то причине в Ubuntu все еще появляется экран, запрашивающий мой пароль для мой личный ключ (не ~/secret/other_key
, который я передаю!). Если я отказываюсь предоставить ключ, он все равно как-то правильно делает клон, но я не понимаю, почему это происходит. Кажется, что по умолчанию он всегда пытается использовать мой по умолчанию и только потом попытается использовать ~/secret/other_key
?
Плюс, я знаю, что команда на самом деле выбирает правильный ключ, как при запуске на удаленных серверах там, где доступен только other_key
, кажется, что он работает нормально.
Есть ли что-нибудь, что могло бы объяснить это поведение? Я бы очень хотел этого избежать, так как надо всегда спрашивать о пароле (этого не происходит, когда я запускаю git
команды через командную строку, кстати ...)
Спасибо