Зачем мне нужно вставлять парольную фразу для ключа RSA на удаленном хосте после SSH?

Зачем мне нужно вставлять парольную фразу для ключа RSA на удаленном хосте после SSH?

От хозяинаБЯ могу подключаться по 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после окончания работы, то пароли будут преимуществом, но, на мой взгляд, оно невелико.

Связанный контент