“мерзавец вытягивает” сбои, но только удаленно?

Когда я пытаюсь 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'мерзавец заботится, о каком ssh ключе я раньше соединялся с my_server, не только, ssh ключ раньше соединялся с удаленным my_repo?

0
задан 12 February 2015 в 18:53
1 ответ

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 не знает о ключах на серверах за пределами того места, где он расположен.

.
0
ответ дан 5 December 2019 в 12:58

Теги

Похожие вопросы