
От хозяинаБЯ могу подключаться по SSH к разным другим хостам (CD) без использования пароля, поскольку я помещаю открытый ключ в соответствующие файлы authorized_keys (на хостах C и D).
От хозяинаАЯ могу использовать SSH-хостингБ(с помощьюпарольаутентификация). Однако, как только я вхожу в систему хостаБянужно каждый раз подтверждать подлинность моего ключакогда я подключаюсь к C и D (даже если в принципе этого не должно быть).
Подводя итог, если я подключаюсь напрямую к хосту B (например, офис), мне не нужно вводить пароль для подключения к C или D. Если я подключаюсь к A (например, домашнему), а затем из AI подключаюсь к B, как только я оказываюсь в BI, мне понадобятся пароли для подключения к D или C. Я могу частично решить эту проблему, добавив пароль в ssh-agent (используя ssh-add), но каждый раз, когда я открываю новую оболочку в BI, мне нужно делать это снова.
Обновлять
Благодаря полезным комментариям выяснилось, что проблема в следующем. Когда я подключаюсь напрямую к B, там работает программа keyring (в моем конкретном случае это seahorse). Поэтому пароли всех зашифрованных закрытых ключей могут быть использованы автоматически. Когда я подключаюсь к B из A, этого не происходит. По загадочной причине, даже если я запускаю удаленный сеанс (vnc / remmina) из A в B, программа seahorse не активна в B, и поэтому мне приходится вручную вводить пароли снова и снова.
Я установилБрелоки проблема была решена.
Однако я не уверен, стоит ли шифровать закрытый ключ, который используется только для SSH-подключения к определенному серверу.Существует ли какой-либо конкретный риск безопасности, если не шифровать закрытые ключи?В принципе, если кто-то может получить доступ к закрытому ключу, он/она также может использовать пароли, хранящиеся в цепочке ключей... так что, похоже, шифрование закрытых ключей не дает большого преимущества.
решение1
Вы решили часть своей проблемы с использованием keychain
в качестве хранилища для ваших паролей для ваших ключей SSH. Что касается вашего другого вопроса:
Однако я не уверен, стоит ли шифровать закрытый ключ, который используется только для ssh-подключения к определенному серверу. Есть ли какой-либо конкретный риск безопасности, если не шифровать закрытые ключи? В принципе, если кто-то может получить доступ к закрытому ключу, он/она также может использовать пароли, хранящиеся в связке ключей... так что, похоже, что большого преимущества в шифровании закрытых ключей может и не быть
Не то, что ваши закрытые ключи остаются незашифрованными, а то, что они не защищены парольной фразой. Поэтому любой, кто может получить доступ к .ssh
каталогу вашего домашнего каталога, может получить контроль над вашими ключами SSH без проблем.
Если вы не против оставить эти ключи в системе, которую вы полностью контролируете, то я не вижу никаких проблем в том, чтобы оставить их без парольной фразы. Я бы также рекомендовал сгенерировать другой набор ключей, который вы можете оставить на вторичных системах, таких как эта, или даже уникальный набор только для этого сервера, чтобы вы могли полностью отказаться от него без особых проблем, если вы когда-нибудь обнаружите, что он был скомпрометирован.
Что касается использования keychain
для управления ключами, я не вижу особой выгоды от использования паролей на ключах SSH, если вы используете keychain
их для управления, за исключением того, что keychain
они будут храниться только тогда, когда вы их используете. Если вы не используете ключи часто и усердно очищаете их keychain
после окончания работы, то пароли будут преимуществом, но, на мой взгляд, оно невелико.