Можем ли мы пропустить часть о «Добавление ключа S SH к агенту s sh», но просто сгенерировать ключ и добавить его в GitHub? - PullRequest
0 голосов
/ 05 марта 2020

Я всегда просто генерировал ключ s sh, а затем добавлял его в GitHub, и все готово: я могу клонировать или pu sh в GitHub и выполнять все задачи.

Но в наше время Я вижу " Добавление вашего ключа S SH к агенту s sh ", и я могу пропустить всю часть, и кажется, что все работает. Зачем это нужно и что происходит, если этот шаг не выполнен?

1 Ответ

0 голосов
/ 06 марта 2020

Вы не должны использовать агент S SH.

Часто есть веские причины до использовать агент. Во многом это зависит от того, насколько вы доверяете каждому компьютеру в цепочке компьютеров, которые вы используете, когда вы go переходите с любой системы, на которой вы запускаете сеанс команд интерактивной оболочки, на ту, с которой вы запускаете git fetch, или любую другую команду вкл.

См. ответ phd, связанный, или полный вопрос и ответ на https://unix.stackexchange.com/q/72552/162084, для описания того, что агент делает для вас.

одна константа здесь заключается в том, что вы должны доверять хотя бы одному компьютеру, чтобы хранить свой закрытый ключ (из пары private / publi c key) для вас. Вы также можете зашифровать закрытый ключ, так что вам не нужно доверять этой машине на 100% - вам нужно только доверять ей настолько, чтобы сначала установить зашифрованный ключ.

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

Если вы используете цепочку компьютеров , вы можете использовать ssh <machine> и позволить переадресация агента отправка различных запросов на ключ обратно на исходный компьютер (на котором вы расшифровали ключ в агенте). Сами эти запросы на самом деле не отправляют ключ , поэтому закрытый ключ остается секретным, теперь известным только вам и агенту. (Ну, вы, агент и все шпионы, которые повредили вас и / или агента и / или вставили скрытый канал в любой точке, в которой возможно получить секретный ключ.)

Если у вас есть Не зашифровывая свой закрытый ключ и храня его непосредственно на компьютере, который выполняет операции Git для GitHub, агент не нужен. Если вы используете ключ развертывания для пользователя компьютера , вы, вероятно, просто хотите сохранить этот закрытый ключ в незашифрованном виде: цель такого ключа - предоставить процессам на машине доступ это без каких-либо дополнительных ч oop -прыжки . Но относительно низкий уровень безопасности такого ключа объясняет, почему это пользователь машины и ключ развертывания , который используется только этой единственной системой: если он становится скомпрометированным, вы просто выбрасываете его и создайте новый ключ развертывания. Только машина использует ее, поэтому машина автоматически использует новую.

...