почему git pu sh вызывает запрос на разблокировку закрытого ключа на моей локальной машине, когда я удаленно вошел в систему с помощью ssh - PullRequest
1 голос
/ 18 марта 2020

Я регулярно подключаю sh к машине для разработки, с которой запускаю git. Я ожидаю, что это соединение будет изолировано от моей локальной машины.

Сегодня я перешел с другой машины на ту же машину разработки, которую я всегда использую, и всякий раз, когда я запускаю git pu sh, появляется запрос на моя локальная машина - не машина разработки - чтобы разблокировать свой закрытый ключ. Я отклоняю это, и pu sh все еще работает, но сообщает:

sign_and_send_pubkey: подпись не удалась: агент отклонил операцию

Почему я получаю приглашение и о моей локальной машине, а не о самой машине разработки?

Есть ли утечка информации в s sh? Является ли он как-то менее изолированным, чем кажется?

Я предполагаю, что когда я в нем sh, он устанавливает что-то, что доступно с удаленного конца. Это должно быть сделано, как, например, я использую s sh -Y для пересылки X11.

У меня такое впечатление, что это скорее безвредно, чем что-то вредоносное, но возможна ли какая-то атака по этому маршруту?

Возможно, аналогично этому вопросу Однако не было упоминания о входе в систему через s sh, и принятый ответ на самом деле не объяснял, что происходило под капотом.

Я ищу просветления о том, что sh и git здесь делают внутри.

1 Ответ

2 голосов
/ 18 марта 2020

s sh имеет функцию переадресации учетных данных. Идея в том, что ваш закрытый ключ должен быть защищен. Вы, вероятно, не (или, по крайней мере, вероятно, не должны) хотеть, чтобы его копии лежали на общих серверах, которые вы используете. Вместо этого вы должны хранить его под своим контролем.

Так что, если я sh перехожу на сервер разработки, но затем создаю s sh соединение оттуда (скажем, для выполнения scp или для доступа git через s sh url), тогда у меня есть два варианта: у меня могут быть ключи, сидящие на сервере dev (еще одна их копия может быть взломана), или у меня может быть какой-то механизм для использования копий, которые я иметь локально.

s sh позволит вам сделать одно или оба. У него есть s sh -агент, который скажет «эй, вы использовали s sh, чтобы попасть сюда, возможно, у вас есть ключ, который вы хотите, чтобы я использовал для этого другого соединения?»

Я не Я не знаю достаточно о вашей настройке, чтобы сказать гораздо более конкретно c, чем это, но я думаю, что это решает основную загадку c того, почему ваши локальные ключи являются частью уравнения.

...