Назад | Перейти на главную страницу

«Git pull» не работает, но только удаленно?

Когда я пытаюсь ssh -C user@my_server 'cd /home/me/my_repo' оно работает. Когда я пытаюсь ssh user@my_server, затем cd /home/me/my_repo' а потом git pull оно работает.

Но когда я пытаюсь ssh -C user@my_server 'cd /home/me/my_repo' && git pull это не с Permission denied (publickey).

Мой вопрос действительно таков: Почему это вообще работает локально? Когда я делаю ssh -C user@my_server 'cd /home/me/my_repo && git pull'Git заботится о том, какой ключ ssh я использовал для подключения к my_server, а не только ключ ssh, используемый для подключения к пульту my_repo?

SSH по умолчанию будет использовать ключи внутри вашего .ssh каталог. Обычно это в ~/.ssh/.

Похоже, вы написали следующую команду, которая может быть опечаткой:

ssh -C user@my_server 'cd /home/me/my_repo' && git pull

Вышеупомянутая команда запустит ssh, а после успешного завершения (статус выхода 0) запустит git pull. Я просто говорю это, поскольку это может быть связано с вашей проблемой и, надеюсь, поможет, не будучи слишком педантичным.

Чтобы ответить на ваш вопрос, git по умолчанию будет использовать ключи в вашем .ssh папка на машине, на которой выполняется команда.

Поэтому следует попытаться использовать ключи в доме user@my_server.

Git не знает о ключах на серверах за пределами того места, где он находится.