Так, це одна з проблем безпарових ключів 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 ключі, безумовно, краще, ніж просто використання паролів.