Как я могу передать имя пользователя и пароль в другую команду, которая будет выполняться (BASH)? - PullRequest
0 голосов
/ 16 января 2019

В terraform я пытаюсь автоматически выполнить команду (запустить openvpn) в bash, которая требует ввода имени пользователя и пароля в качестве ввода во второй строке.

Проблема похожа на описанную здесь, Как запускать команды sudo в terraform? ... но в моем случае мне нужно передать имя пользователя и пароль, и я не уверен, как это сделать с обоими.

echo openvpnas && echo password | openvpn --config ./client.ovpn

open vpn запрашивает имя пользователя и пароль, на данный момент, но я не могу понять, как ввести оба в сценарии.

[user@workstation openvpn_config]$ sudo openvpn --config ./client.ovpn
[sudo] password for user: 
Wed Jan 16 12:08:41 2019 OpenVPN 2.4.6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Dec  5 2018
Wed Jan 16 12:08:41 2019 library versions: OpenSSL 1.0.2k-fips  26 Jan 2017, LZO 2.06
Enter Auth Username:openvpnas
Enter Auth Password:

1 Ответ

0 голосов
/ 20 января 2019

Вы можете local-exec создать файл имени пользователя / пароля, если вы используете хранилище или что-то еще для захвата учетных данных на лету. Затем укажите аргумент --auth-user-pass up для чтения файла, затем удалите файл local-exec.

- auth-user-pass [вверх]

Авторизуйтесь на сервере, используя имя пользователя / пароль. up - это файл, содержащий имя пользователя / пароль в 2 строки. Если строка пароля отсутствует, OpenVPN предложит ввести ее. Если up опущен, имя пользователя / пароль будет запрошено из консоли.

В конфигурации сервера должен быть указан сценарий --auth-user-pass-verify для проверки имени пользователя / пароля, предоставленного клиентом.

Источник: https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...