Двухфакторная аутентификация SSH на нескольких серверах
Я новичок, когда дело доходит до двухфакторной аутентификации. У меня есть общая идея реализации двухфакторной аутентификации на одном сервере. Но мне было интересно, есть ли стандартное решение для его реализации на нескольких серверах.
СЦЕНАРИЙ:
Итак, есть куча машин *nix (около 50), для которых я хочу включить двухфакторную аутентификацию. Если я включу двухфакторную аутентификацию ssh с использованием Google authenticator ( https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-two-factor-authentication) на всех компьютерах, это не кажется как хорошая идея для генерации и отслеживания отдельных кодов авторизации. Есть ли способ, которым я могу упростить весь процесс.
EX:
Можно ли как-то использовать двухфакторную аутентификацию ssh один раз и переслать ее с моими ssh-запросами на все машины? Как прокси-машина, которая может обрабатывать OAuth для остальной части моего стека? Также существуют ли существующие системы / программное обеспечение / услуги, которые могут облегчить внедрение? Я также открыт для новых архитектурных проектов.
Заранее спасибо!
PS:
В настоящее время мы используем проверку подлинности на основе ssh-ключа на всех наших компьютерах.
2 ответа
Если вашей основной целью является однократная аутентификация и доступ ко всем вашим машинам без повторной аутентификации, вы можете использовать аутентификацию на основе хоста с помощью промежуточного хоста: https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server.
(Извините, если вы уже знали об этом варианте.)
Если у вас есть изолированная сеть (никто не может использовать вашу подсеть), вы можете отключить общедоступный доступ SSH для всех машин (будем называть их частными), за исключением одной / двух машин (общедоступных машин).
Общедоступные машины имеют двухфакторную аутентификацию.
Частные машины не имеют двухфакторной аутентификации. Порт SSH частных компьютеров доступен только с определенного IP-адреса (например, вашей подсети или IP-адреса общедоступных компьютеров).
Так обычно делают люди в среде AWS с общедоступной подсетью. Экземпляры только с частным IP-адресом, доступные только из экземпляров, имеющих публичный доступ.
Таким образом, всякий раз, когда вы хотите получить доступ к вашим частным машинам, вы должны сначала войти на публичный компьютер. И тогда, оттуда, вы можете войти на любые машины.