所以我的 ssh 配置如下所示:
Host bastion
Hostname 35.46.192.2
User bob2
RequestTTY force
RemoteCommand ssh 35.45.96.47
所以我的想法是,我想 ssh 到我的服务器bastion
,然后从bastion
ssh 到另一个服务器,我们称之为它test-vm
,然后ansible
执行它想要的任何内容。
是否可以实现上述工作?我收到的错误表明,当我执行主机名设置为 的 ansible playbook 时,由于主机无法访问,因此无法 ssh bastion
。
答案1
我不确定,但我的猜测是 Ansible 确实需要单独的标准输出和标准错误流,而使用 TTY 不会产生这种情况(所有输出都进入同一个流)。
一般来说,如果您的 OpenSSH 版本支持它,您最好使用ProxyJump
通过堡垒进行 SSH 的选项,因为这会为您处理所有连接,并产生干净、功能齐全的连接。