Вопрос: Требуется ли подсистема SSH SFTP для управляемых узлов для работы Ansible?


Когда я запускаю:

ansible all -a "/bin/echo hello" -u myuser

Я вернусь:

mydomain.myhost.com | FAILED => failed to open a SFTP connection (Channel closed.)

Подсистема SFTP отключена на управляемом узле, к которому я пытаюсь подключиться.

Требуется ли SFTP для управляемых узлов? В документах Ansible не упоминается SFTP: http://docs.ansible.com/intro_installation.html#managed-node-requirements

Я попробовал настройку это значение в ansible.cfg:

scp_if_ssh=True

... но это не имело никакого эффекта. (Благодаря Fred the Magic Wonder Dog для предложение.)

Я также гарантировал, что моя неинтерактивная оболочка не производит никакого вывода как предложено здесь,


5
2018-03-14 17:42


Источник




Ответы:


Да, это зависит от возможности переноса файлов на удаленный компьютер. Он использует sftp для этого по умолчанию. Вы можете переопределить это, чтобы использовать scp, используя

scp_if_ssh
Occasionally users may be managing a remote system that doesn’t have SFTP enabled. If set to True, we can cause scp to be used to transfer remote files instead:

scp_if_ssh=False
There’s really no reason to change this unless problems are encountered, and then there’s also no real drawback to managing the switch. Most environments support SFTP by default and this doesn’t usually need to be changed.

Вышеприведенная информация была взята с этой страницы:

http://docs.ansible.com/intro_configuration.html#openssh-specific-settings 


4
2018-03-14 18:14



Я раскоментировал «scp_if_ssh = True», но это не повлияло. Я все равно получаю такое же сообщение об ошибке. - braveterry


Вот что я в итоге сделал:

  1. скопированный /etc/ansible/ansible.cfg в ~/.ansible.cfg
  2. отредактированный ~/.ansible.cfg,
  3. Изменено #scp_if_ssh = False в scp_if_ssh = True
  4. добавленной ssh_args = в [ssh_connection] раздел.
  5. Отправил свою команду -c SSH флаг

Благодаря Fred the Magic Wonder Dog для указания меня в правильном направлении.


4
2018-04-15 19:05



лучше иметь сегмент кода для ваших настроек (ansible.cfg), я заметил scp_if_ssh=True должны быть указаны ниже [ssh_connection], ssh_args необязательно зависит от каждой конфигурации. - larrycai