4

Единственный раз, когда Mac OS X Terminal запрашивает пароль для моего файла идентификации, это когда я перезагружаюсь. Я довольно параноик, и это кажется небезопасным; Как я могу убедиться, что он запрашивает пароль каждый раз, когда я пытаюсь использовать ключ?

4 ответа4

4

Ssh-agent хранит их в течение всего времени сеанса (см. Параметры ssh-agent через 'man ssh-agent'). Вы можете сократить время жизни ключа, добавленного к агенту, с помощью 'ssh-agent -t 1', но ss-agent запускается при запуске при запуске системы. Вот ветка, в которой описывается, как бороться с проблемой: яблочная дискуссия .

3

Я бы добавил следующий параметр конфигурации в .ssh/config:

Host *
    IdentitiesOnly yes

отключить использование ssh-agent.

2

Вы можете установить брелок по умолчанию (вход в систему) для блокировки в спящем режиме или по истечении времени ожидания, которое также, по-видимому, сбрасывает агент SSH.

Откройте Keychain Access и щелкните правой кнопкой мыши связку ключей входа в систему, чтобы изменить настройки (я думаю, вы захотите более короткий тайм-аут, чем я): Настройки безопасности брелка

Или, если вы предпочитаете командную строку:

security set-keychain-settings -lu -t 1   # for a 1 second timeout

Я использовал изменение org.openbsd.ssh-agent.plist, которое вы упомянули в комментариях, но в El Cap вам нужно отключить защиту целостности системы, чтобы сделать это, и я не был в восторге. Мое решение требует дополнительной подсказки для разблокировки, но это самый чистый вариант, который я нашел до сих пор.

1

Если он запрашивает вас только при входе в систему, он хранится в одном из двух мест: в ssh-agent через ssh-add или через цепочку ключей OSx.

Лично я бы сначала проверил брелок, потому что мне кажется, что это, вероятно, более безопасная ставка на GUI-ориентированную машину.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .