Мне нравится возможность подключаться к серверам через SSH с параметром -A, поэтому я могу использовать свои закрытые ключи на сервере.
Это позволяет мне обновлять репозитории git / svn и подключаться к другим серверам без необходимости загрузки закрытого ключа на сервер.
Потрясающие!
Но как это работает?
Меня беспокоит то, что закрытый ключ временно доступен на сервере. И если сервер скомпрометирован или другой пользователь каким-то образом вошел в систему как root, к нему можно получить доступ.
Так ли это?
Я изучил содержимое / tmp, где папка с именем ssh-something
присутствует с сокетом с именем ssh-something
внутри.
Это дает мне надежду, что необходимые запросы подтверждения передаются на мою локальную машину и обрабатываются / подписываются там, а мой закрытый ключ фактически никогда не покидает мою локальную машину.
Так ли это?
Извините, что спросил перед чтением ...
Из man ssh
Пересылку агента следует включать с осторожностью. Пользователи с возможностью обхода прав доступа к файлам на удаленном хосте (для сокета домена UNIX агента) могут получить доступ к локальному агенту через перенаправленное соединение. Злоумышленник не может получить ключевой материал от агента, однако он может выполнять операции с ключами, которые позволяют им аутентифицироваться с использованием идентификаторов, загруженных в агент.