Ansible change ssh port in playbook
In the role de-server-setup
add a task to change the ansible_port
host variable.
- name: Change ssh port to 8888
set_fact:
ansible_port: 8888
The only thing I can think of that might work would be to create ssh aliases for your hosts. In your .ssh/config
:
Host de.1.before
HostName 192.26.32.32
Port 22
Host de.1.after
HostName 192.26.32.32
Port 8888
Then use these aliases in your Ansible inventory:
[de-servers-before]
de.1.before
[de-servers-after]
de.1.after
And the defined groups then respectively in your plays:
- name: Install de-servers configurations
hosts: de-servers-before
roles:
- de-server-setup
- name: Install uk-servers configurations
hosts: uk-servers
roles:
- uk-server-setup
- name: Do some other job on de-servers (cannot be done until uk-servers is installed)
hosts: de-servers-after
roles:
- de-servers-rest-of-jobs