diff --git a/changelogs/fragments/70437-ssh-args.yml b/changelogs/fragments/70437-ssh-args.yml new file mode 100644 index 00000000000..3a1af9d5612 --- /dev/null +++ b/changelogs/fragments/70437-ssh-args.yml @@ -0,0 +1,4 @@ +bugfixes: + - > + ssh connection plugin - use ``get_option()`` rather than ``_play_context`` to + ensure ``ANSBILE_SSH_ARGS`` are applied properly (https://github.com/ansible/ansible/issues/70437) diff --git a/lib/ansible/plugins/connection/ssh.py b/lib/ansible/plugins/connection/ssh.py index 924604421b1..ed44a035fe0 100644 --- a/lib/ansible/plugins/connection/ssh.py +++ b/lib/ansible/plugins/connection/ssh.py @@ -611,9 +611,10 @@ class Connection(ConnectionBase): # Next, we add [ssh_connection]ssh_args from ansible.cfg. # - if self._play_context.ssh_args: + ssh_args = self.get_option('ssh_args') + if ssh_args: b_args = [to_bytes(a, errors='surrogate_or_strict') for a in - self._split_ssh_args(self._play_context.ssh_args)] + self._split_ssh_args(ssh_args)] self._add_args(b_command, b_args, u"ansible.cfg set ssh_args") # Now we add various arguments controlled by configuration file settings