📅  最后修改于: 2023-12-03 15:35:54.545000             🧑  作者: Mango
Ansible 是一种自动化工具,可以让您自动配置、部署和管理远程服务器、网络设备等各种系统。 Ansible 可以通过 SSH 协议与目标系统进行通信。 默认情况下,Ansible 会使用标准 SSH 端口22。
但是,有时您需要使用不同的端口号,例如22端口被防火墙阻止或导致服务冲突。在这种情况下,您可以在 ansible ssh 命令中指定端口号。 在本文中,我们将介绍如何在 ansible ssh 命令中指定不同的端口号。
您可以通过在标准 ansible ssh 命令中指定 -p
参数来使用不同的 ssh 端口。例如,要连接到 ssh 端口2022,可以使用以下命令:
ansible all -i hosts.ini -m ping -u root -e 'ansible_ssh_common_args="-p 2022"'
在上面的命令中,-e 'ansible_ssh_common_args="-p 2022"'
将告诉 Ansible 使用 SSH 端口2022 连接 SSH 目标主机。
注意:使用指定的 ssh 端口需要在目标系统中打开该端口。否则,您将无法与目标系统建立 ssh 连接。
如果您需要在整个 ansible 项目中使用相同的 ssh 端口,则可以在配置文件 ansible.cfg 中进行设置。
在 ansible.cfg 中添加以下内容
[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=30m -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 2022
在上面的配置中, ssh_args 参数将会告诉 Ansible 默认使用 SSH 端口2022 连接所有目标主机。
通过在 ansible ssh 命令中指定 -p
参数,我们可以使用不同的 ssh 端口连接目标系统。 在 ansible 项目全局设置时,可以通过配置文件 ansible.cfg 设置 ssh 端口,以便在全部 ansible 命令中使用。