Да, это одна из проблем с парольными SSH-ключами. Если вы храните закрытый ключ на сервере A, который позволяет подключаться к серверу B, получение доступа к серверу A фактически приводит к получению доступа к серверу B. (Обратное неверно - получение доступа к серверу B не приведет к немедленная компрометация сервера A, при условии, что у вас также не настроены ключи SSH, чтобы разрешить вход без пароля в этом направлении
Есть несколько вещей, которые вы можете сделать, чтобы смягчить это:
- Если процесс не требует полной автоматизации, добавьте пароль к своим ключам SSH. (Это, вероятно, не будет работать для вас, так как вы заметили, что это для резервного копирования)
- Для входа без пароля с использованием своей учетной записи на нескольких компьютерах я рекомендую создать пароль для каждой машины, на которой вы физически печатаете, и использовать агент SSH для хранения ключа в памяти во время его использования. Переадресация агента должна позволять вам переходить с одного хоста на другой без создания ключей на каждом удаленном хосте.
- Для автоматических ключей SSH без пароля я рекомендую ограничить количество команд, которые может запускать ключ. В вашем
authorized_keys
файле префикс каждого ключа:
command="<allowed command line here>",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
8-9 лет назад я работал в общедоступной пользовательской среде с сотнями локальных пользователей, и вход в систему на основе ключей SSH был отключен, поскольку не было никакого способа применения политик паролей для ключей. Пока вы полностью контролируете сценарий, в настоящее время ключи SSH определенно лучше, чем просто использование паролей.
В любой среде, которой я управлял, я всегда был сторонником минимально возможных привилегий для служебных учетных записей.
В этом случае я рекомендую убедиться, что учетной записи пользователя на удаленном сервере разрешено запускать только небольшой, строго определенный набор исполняемых файлов. Вы можете использовать несколько учетных записей на удаленной стороне и sudo для достижения этой цели.
Даже в этом случае вы по-прежнему подвержены локальным ошибкам повышения привилегий, так что будьте внимательны и тщательно отслеживайте ошибки безопасности.
источник