Користувачі, які увійшли на мій сервер Linux, повинні мати можливість перейти на певний віддалений комп'ютер із обліковим записом за замовчуванням. Для аутентифікації на віддаленій машині використовується відкритий ключ, тому на сервері є відповідний приватний ключ.
Я не хочу, щоб користувачі сервера насправді могли читати приватний ключ. В основному, той факт, що вони мають доступ до сервера, дозволяє їм ssh правильно, а видалення їх із сервера також повинно заборонити підключення до віддаленої машини.
Як я можу дозволити користувачам відкривати ssh-з'єднання, не надаючи їм доступу до приватного ключа?
Досі мої думки: очевидно, що виконуваний файл ssh повинен вміти читати приватний ключ, тому він повинен працювати під іншим користувачем на сервері, який має на це право. Після встановлення з'єднання ssh я можу "переслати" його користувачеві, щоб він міг вводити команди та взаємодіяти з віддаленою машиною.
- Це хороший підхід?
- Як я повинен реалізувати форвард?
- Як користувач може ініціювати з'єднання (тобто виконання ssh користувачем, який прочитав права на ключ)?
- Чи є лазівка безпеки? - якщо користувачі можуть виконати ssh як інший користувач, чи можуть вони потім зробити все, що міг би інший користувач (у тому числі, читаючи приватний ключ)?
~/.ssh/authorized_keys
файл нові відкриті ключі ?