#ansible #fetch #ssh-config
#ansible #выборка #ssh-config
Вопрос:
Используя модуль выборки, я получаю ошибку модуля. Когда я запускаю playbook с -vvvv
помощью, я получаю следующий отладочный вывод,
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug2: resolve_canonicalize: hostname 45.00.00.00 is address
debug1: auto-mux: Trying existing master
debug2: fd 3 setting O_NONBLOCK
debug2: mux_client_hello_exchange: master version 4
debug3: mux_client_forwards: request forwardings: 0 local, 0 remote
debug3: mux_client_request_session: entering
debug3: mux_client_request_alive: entering
debug3: mux_client_request_alive: done pid = 21668
debug3: mux_client_request_session: session request sent
debug3: mux_client_read_packet: read header failed: Broken pipe
debug2: Received exit status from master 137
Shared connection to 45.00.00.00 closed.
За этим следует
SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="root"' -o ConnectTimeout=10 -o ControlPath=/home/maximum/.ansible/cp/1d97f3b2a1 45.00.00.00 '/bin/sh -c '"'"'rm -f -r /root/.ansible/tmp/ansible-tmp-1605874050.2884061-236476337621921/ > /dev/null 2>amp;1 amp;amp; sleep 0'"'"''
<45.63.35.46> (0, b'', b'OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f 31 Mar 2020rndebug1: Reading configuration data /etc/ssh/ssh_configrndebug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no filesrndebug1: /etc/ssh/ssh_config line 21: Applying options for *rndebug2: resolve_canonicalize: hostname 45.00.00.00 is addressrndebug1: auto-mux: Trying existing masterrndebug2: fd 3 setting O_NONBLOCKrndebug2: mux_client_hello_exchange: master version 4rndebug3: mux_client_forwards: request forwardings: 0 local, 0 remoterndebug3: mux_client_request_session: enteringrndebug3: mux_client_request_alive: enteringrndebug3: mux_client_request_alive: done pid = 21668rndebug3: mux_client_request_session: session request sentrndebug3: mux_client_read_packet: read header failed: Broken piperndebug2: Received exit status from master 0rn')
failed: [host1] (item={'path': '/home/domain/backup/archive/archive_2020-11-20.tar.gz', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 0, 'gid': 0, 'size': 101263360, 'inode': 657061, 'dev': 64513, 'nlink': 1, 'atime': 1605858974.1760325, 'mtime': 1605858946.852478, 'ctime': 1605858946.852478, 'gr_name': 'root', 'pw_name': 'root', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) => {
"ansible_loop_var": "item",
"changed": false,
"item": {
"atime": 1605858974.1760325,
"ctime": 1605858946.852478,
"dev": 64513,
"gid": 0,
"gr_name": "root",
"inode": 657061,
"isblk": false,
"ischr": false,
"isdir": false,
"isfifo": false,
"isgid": false,
"islnk": false,
"isreg": true,
"issock": false,
"isuid": false,
"mode": "0644",
"mtime": 1605858946.852478,
"nlink": 1,
"path": "/home/domain/backup/archive/archive_2020-11-20.tar.gz",
"pw_name": "root",
"rgrp": true,
"roth": true,
"rusr": true,
"size": 101263360,
"uid": 0,
"wgrp": false,
"woth": false,
"wusr": true,
"xgrp": false,
"xoth": false,
"xusr": false
},
"module_stderr": "OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f 31 Mar 2020rndebug1: Reading configuration data /etc/ssh/ssh_configrndebug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no filesrndebug1: /etc/ssh/ssh_config line 21: Applying options for *rndebug2: resolve_canonicalize: hostname 45.00.00.00 is addressrndebug1: auto-mux: Trying existing masterrndebug2: fd 3 setting O_NONBLOCKrndebug2:
mux_client_hello_exchange: master version 4rndebug3: mux_client_forwards: request forwardings: 0 local, 0 remoterndebug3: mux_client_request_session: enteringrndebug3: mux_client_request_alive: enteringrndebug3: mux_client_request_alive: done pid = 21668rndebug3: mux_client_request_session: session request sentrndebug3: mux_client_read_packet: read header failed: Broken piperndebug2: Received exit status from master 137rnShared connection to 45.00.00.00 closed.rn",
"module_stdout": "Killedrn",
"msg": "MODULE FAILUREnSee stdout/stderr for the exact error",
"rc": 137
}
Что насчет файла ssh_config моего хоста вызывает эту ошибку с модулем выборки?
Это только начало происходить и работало раньше, и я могу успешно пинговать свои хосты.
Вот фактическая задача, которая выполняется из моего сборника.
- name: Find and register {{ domain_name }} archive
find:
paths: /home/{{ domain_name }}/backup/archive/
file_type: file
patterns: "*.tar.gz"
register: tar_file
- debug:
var: tar_file
- name: Fetch {{ domain_name }} archive for offsite backup
fetch:
src: '{{ item.path }}'
dest: '{{ store_path }}'
fail_on_missing: yes
with_items: '{{ tar_file.files }}'
Комментарии:
1. Я пометил строку 19 в своем ssh_config. Выборка по-прежнему не будет работать, так как теперь, похоже, она считает меня недопустимым злоумышленником? У меня настроены ключи ssh, и все остальные задачи работают. Вывод из ` systemctl status ssh ` ` 22 ноября 01:42:32 sshd сервера[12626]: Недопустимый пользователь mailman с 171.000.251.00 порт 38924 22 ноября 01:42:37 sshd сервера [12626]: Соединение закрыто недопустимым пользователем mailman 171.000.251.00 порт 38924 [preauth] `
2. Вы когда-нибудь решали эту проблему?
3. Не совсем. Я считаю, что файл, который я пытался извлечь, был слишком большим, и именно по этой причине у меня возникли проблемы. Я максимально уменьшил размер файла, и он начал работать.
Ответ №1:
В вашем ansible.cfg
, добавьте:
[ssh_connection]
ssh_args =
Это устранит -o ControlMaster=auto -o ControlPersist=60s
то, что, я думаю, вызывает проблему.
Я также обнаружил, что это проблема, когда вы забываете добавлять ansible_connection=netconf
при подключении к сетевым устройствам. В этом случае вам не понадобится вышеупомянутое исправление.