Возможно, вы захотите изучить что-то вроде ожидать
, что позволит вам сделать что-то вроде этого:
порождать vpn_connect.sh
ожидать «Имя пользователя аутентификации:»
отправить "транспортир-контейнер\r"
ожидать "Пароль:"
отправить "superSecretPassword!123\r"
Конечно, это может быть не идеально, если несколько человек имеют возможность подключаться к контейнеру Docker или читать исходные файлы, которые упаковываются в сборку, поскольку незашифрованные пароли могут создавать проблемы.
Одним из вариантов было бы создать отдельный файл, содержащий учетные данные, и сохранить его в месте внутри контейнера Docker, например /root/.private/vpn-creds
. Этот файл будет содержать всего две строки:
транспортир-контейнер
суперсекретный пароль!123
Затем вы можете отредактировать свой ожидать
скрипт, чтобы он выглядел так:
#!/usr/bin/ожидание -f
установить пароль [открыть "/root/.private/vpn-creds" r]
получает имя пользователя $passfile
получает пароль $passfile
закрыть $passfile
порождать vpn_connect.sh
ожидать «Имя пользователя аутентификации:»
отправить "$имя_пользователя\r"
ожидать "Пароль:"
отправить "$пароль\r"
Имейте в виду, если у всех корень
доступа, вы мало что можете сделать в автоматическом режиме, чтобы скрыть учетные данные. Решительный человек с судо
кто знает, как использовать StackExchange, найдет способ получить нужную им информацию