Вопрос прост: в чем разница между ansible_user
(прежний ansible_ssh_user
) и remote_user
в Ansible, кроме того, что первый из них задан, если файл конфигурации и последний заданы в играх/ролях? Как они соотносятся с параметрами командной строки -u
/--user
?Ansible remote_user vs ansible_user
9
A
ответ
11
Оба они кажутся одинаковыми. Посмотрите здесь:
https://github.com/ansible/ansible/blob/devel/lib/ansible/playbook/play_context.py#L46
# the magic variable mapping dictionary below is used to translate
# host/inventory variables to fields in the PlayContext
# object. The dictionary values are tuples, to account for aliases
# in variable names.
MAGIC_VARIABLE_MAPPING = dict(
connection = ('ansible_connection',),
remote_addr = ('ansible_ssh_host', 'ansible_host'),
remote_user = ('ansible_ssh_user', 'ansible_user'),
port = ('ansible_ssh_port', 'ansible_port'),
Кроме того, ansible_user
используется, когда мы хотим specifiy пользователя SSH по умолчанию в анзибль хостов файл, в котором в качестве remote_user
используется в PlayBook контексте.
От https://github.com/ansible/ansible/blob/devel/docsite/rst/intro_inventory.rst
ansible_user Серверу имя пользователя SSH, используемый по умолчанию.
и вот пример использования ansible_user
в ansible hosts
файле:
[targets]
localhost ansible_connection=local
other1.example.com ansible_connection=ssh ansible_user=mpdehaan
other2.example.com ansible_connection=ssh ansible_user=mdehaan
Это действительно печально, как они имеют разные названия для той же опции, и которые SSH пользователя для входа в систему, как это не единственный пример. Начиная с первого урока, который каждый в нашей работе учит, это никогда не «разорвать обратную совместимость» и не думать о себе, такие вещи только накапливаются и обходится бесчисленному количеству часов в расходовании усилий на расшифровку использования продукта. –