Я хотел бы создать сценарий, который может поддерживать несколько серверов через SSH. Я хочу управлять аутентификацией / авторизацией таким образом, чтобы аутентификация выполнялась шлюзом, а любой другой доступ маршрутизировался через этот ssh-сервер к внутренним службам без каких-либо дополнительных требований аутентификации / авторизации.
Итак, если пользователь A может, например, войти в server_1. Затем он может ssh на server_2 без какой-либо другой аутентификации и делать то, что ему разрешено делать на server_2 (например, выключить mysql, обновить его и перезапустить. Это можно сделать с помощью некоторого удаленного сценария оболочки).
Проблема, которую я пытаюсь решить, состоит в том, чтобы придумать сценарий развертывания для системы JavaEE, которая включает базы данных и экземпляры tomcat. Их нужно выключить и заново создать. Требование состоит в том, чтобы иметь сценарий развертывания с минимальным человеческим участием как для разработчиков, так и для эксплуатации.
Не стоит изобретать велосипед здесь заново, иначе в конечном итоге вы только заставите себя работать больше и создадите новые проблемы с безопасностью. На ум приходят два варианта:
ssh-agent
на клиенте и переадресация агента разрешена в конечные пункты назначения, так что вы можете использовать SSH от одного к другому на основе ваших локально разблокированных ключей.Поскольку вы используете ssh, вам следует взглянуть на ssh key
на основе аутентификации и использования ssh-агент. Если вы используете что-то вроде PuTTY и конкурс тогда вы можете просто загрузить закрытый ключ в конкурс и использовать его для аутентификации, где бы ни находился соответствующий открытый ключ.
Если вам удастся все автоматизировать, то можно ограничить использование ключа определенные команды слишком.