ssh-add -D удаляет ключи на исходном хосте
У меня на MacBook работает ssh-агент. Я использую ssh -A и несу ключи к своей красной коробке.
Однако меня удивляет то, что когда я делаю 'ssh-add -D' на коробке redhat, ключи не только исчезают локально, но и удаляются на моем macbook. Как это работает?
Кажется, что какая-то труба открыта полностью.
1 ответ
ssh-add подключиться к работающему агенту через доменные сокеты Unix. Переменная окружения SSH_AUTH_SOCK содержит путь к сокету. ssh-add проверяет переменную и подключается к агенту, который доступен через сокет, а не тот, который работает локально.
Когда вы запускаете ssh на машине с параметром -o ForwardAgent = yes, указанная выше переменная устанавливается так, чтобы указывать на сокет, который подключен к агенту, работающему на исходном хосте.
Если вы хотите, чтобы ssh-add подключился к агенту, работающему локально, укажите указанную выше переменную на путь сокета, который прослушивается локальным агентом. вы можете получить локальный сокет sudo lsof -p $(pgrep ssh-agent)
и найдите файл в /tmp типа сокета.