SSH-пароль запоминается в MacOSX Snow Leopard

8

Я сталкиваюсь с очень странной ситуацией со Snow Leopard. У меня есть сервер Linux, настроенный на прием ssh-соединения, аутентифицируемого только через ключ RSA. Нет пароля На моем ноутбуке я правильно развернул ключ RSA с помощью ssh-keygen, и пока я делал это, я добавил фразу-пароль. Затем я переместил id_rsa.pub на сервер Linux .ssh / authorized_keys.

Все идет нормально. Теперь я пытаюсь с моего ноутбука Snow Leopard войти на компьютер с Linux. Я получаю всплывающее окно с просьбой ввести пароль. Это первое, что удивляет меня, так как я ожидал бы запрос пароля, а не всплывающее окно. Приложение, запрашивающее парольную фразу - ssh, согласно подробностям в этом всплывающем окне. Также есть опция «запомнить фразу в цепочке для ключей», которая отключена.

Я ввел свой пароль. Всплывающее окно исчезнет, ​​и терминал правильно войдет в систему Linux. Теперь, если я выхожу из системы и пытаюсь выполнить ssh снова, вход в систему происходит без запроса парольной фразы, а это не то, что мне нужно.

Вещи, которые я проверил:

  • ничего не сохраняется в связку ключей. Зашел и ничего не нашел.
  • если я закрою / выйду из терминала и открою новый, меня все равно не попросят ввести ключевую фразу, и ssh войдет в систему без какого-либо запроса.
  • если я выхожу из сеанса MacOSX и перезагружаюсь, фраза-пароль запрашивается при следующей попытке, снова с всплывающим диалоговым окном. Тогда это больше не требуется.

Где хранится пароль? что именно происходит, и как я могу форсировать запрос пароля при каждой попытке ssh?

Стефано Борини
источник

Ответы:

10

OS X автоматически запустит для вас ssh-agent, когда ему понадобится ваш закрытый ключ. Ваш ключ будет доступен через ssh-agent (без повторного ввода пароля) до тех пор, пока вы не выйдете из OS X или не удалите ключ (с помощью ssh-add -dили, ssh-add -Dчтобы удалить все ключи).

Это похоже на стандартное поведение системы * NIX с ssh-agent и позволяет работать с такими полезными функциями, как переадресация аутентификации агента ( ssh -A), поэтому вам не нужно помещать свой закрытый ключ по всей сети.


Если вы хотите отключить ssh-agent (для всех пользователей вашего Mac), вы можете удалить файл /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist


Другой способ - выгрузить и отключить LaunchAgent:

sudo launchctl -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

-wЗаставляет его не только разгрузить , но знак и запомнить его недееспособным.

voretaq7
источник