Ssh 膨胀率

Ssh 膨胀率,ssh,vagrant,ansible,Ssh,Vagrant,Ansible,我有一个ansible playbook,它通过一个非标准ssh端口(转发到本地主机)和一个不同于主机用户(vagrant)的用户连接到虚拟机 ssh端口在ansible资源清册中指定: [vms] localhost:2222 命令行中为ansible playbook提供的用户名: ansible-playbook -i <inventory from above> <some playbook> -u vagrant 我在什么地方犯了愚蠢的错误吗?或者,是否有其

我有一个ansible playbook,它通过一个非标准ssh端口(转发到本地主机)和一个不同于主机用户(vagrant)的用户连接到虚拟机

ssh端口在ansible资源清册中指定:

[vms]
localhost:2222
命令行中为ansible playbook提供的用户名:

ansible-playbook -i <inventory from above> <some playbook> -u vagrant

我在什么地方犯了愚蠢的错误吗?或者,是否有其他方法刷新SSH连接?

扩展百分比不是通过
ansible
扩展的,而是通过
SSH
以后扩展的

抱歉,忘记添加最重要的部分


使用

command: ssh -o ControlPath=[...] -O stop {{inventory_hostname}}
将使用默认端口,因为您没有在命令行上指定它。您还必须通过以下方式指定“刷新”连接的端口:

command: ssh -o ControlPath=[...] -O stop -p {{inventory_port}} {{inventory_hostname}}

但我认为这是不必要的。Ansible应该在playbook结束时清理连接,我看不出有任何不同的原因需要这样做。

如果您在某些任务中更改用户的组成员身份,并希望权限在同一playbook运行中反映这一点,则需要这样做。感谢您的解释。这是有道理的。没关系,我的建议应该可以完成这项工作。似乎我可以这样正确设置控制路径:ControlPath=“~/.ansible/cp/ansible ssh-{{ansible\u hostname}}-{{ansible\u port}-{{ansible\u user}”也许扩展百分比根本不应该用于此目的?
command: ssh -o ControlPath=[...] -O stop -p {{inventory_port}} {{inventory_hostname}}