Я хочу использовать докер-машину для развертывания контейнеров на сервере Debian 9 с моего локального компьютера.
Я следовал инструкциям от эта страница, что четко указывает:
Если вы используете «sudo» на хосте, убедитесь, что вы настроили sudo без пароля:
# visudo %sudo ALL=(ALL) NOPASSWD:ALL
К тому же, документация докеров для generic
драйвер докер-машины упомянуть то же самое:
Судо привилегии
Пользователь, который используется для SSH на хосте, может быть указан с помощью
--generic-ssh-user
флаг. Этому пользователю нужны привилегии sudo без пароля. Если это не так, вам нужно отредактироватьsudoers
файл и настройте пользователя как sudoer сNOPASSWD
Я не эксперт, но я чувствую, что здесь что-то не так ... Не позволяет пользователю на производственном сервере выполнять любую команду без пароля, что приводит к нарушению безопасности? Или я что-то упускаю?
Спустя 3 месяца, думаю, у меня есть ответ на свой вопрос. Похоже, что конфигурация без пароля нужна только тогда, когда производственный сервер впервые зарегистрирован в docker-machine.
Однажды команда docker-machine create --driver generic [...]
был успешно введен, docker-machine
может подключаться к удаленному хосту с помощью сокета на порту 2376, и sudo
больше не используется на производственном сервере.
Другими словами, конфигурация sudo без пароля должна присутствовать на сервере несколько секунд и может быть отключена позже.