Назад | Перейти на главную страницу

Открытый SSL с неизвестной опцией '-n' в экземпляре Amazon Linux2

Мой код выдает ошибку, когда достигает этой строки:

{% set encrypted_password = salt['cmd.run']('openssl enc -aes-128-cbc -a -salt -md md5 -in <(echo -n "' + ssm_plaintext_password +'") -pass pass:'+random_password) %}

Ошибка:

[ERROR   ] Command '[u'openssl', u'enc', u'-aes-128-cbc', u'-a', u'-salt', u'-md', u'md5', u'-in', u'<(echo', u'-n', u'g0vknM6a%,)', u'-pass', u'pass:zHwhIwKesJVXZO9taCHuEVGSPTW3J95g']' failed with return code: 1
[ERROR   ] stdout: unknown option '-n'

Но когда я запускаю команду openssl enc -aes-128-cbc -a -salt -md md5 -in <(echo -n "g0vknM6a%,") -pass pass: zHwhIwKesJVXZO9taCHuEVGSPTW3J95g это дает мне вход.

Я выполняю это в Amazon Linux2 основанный экземпляр, имеющий Python3 и солонка 2019.2.0 (фтор) . Это связано с какими-либо изменениями двоичной версии, поскольку этот код отлично работал с Amazon Linux1

Добавить python_shell=True возможность cmd.run.

У меня есть решение: https://github.com/saltstack/salt/issues/44226.

Я заменил cmd.run на cmd.shell, и у меня это отлично работает.