최근에는 다양한 자동화에 ansible을 사용하고 있습니다. 그러나 특정 웹 서버 상자에서 자동 tomcat6 재시작을 테스트하는 동안. 수정할 수없는 새로운 오류가 발생했습니다.
FAILED => failed to transfer file to /command
문서를 보면 sftp-server가 sshd_config에 없기 때문에 언급되었지만 거기에 있습니다.
다음은 웹 서버 호스트에 실행중인 명령입니다.
ansible all -a "/usr/bin/sudo /etc/init.d/tomcat6 restart" -u user --ask-pass --sudo --ask-sudo-pass
각 상자에는 .ansible 숨겨진 폴더가 있으므로 작성은 알지만 명령을 실행하지는 않습니다.
-vvvv를 실행하면 다음과 같은 결과가 나타납니다.
EXEC ['sshpass', '-d10', 'ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 'ControlPath=/home/vagrant/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'GSSAPIAuthentication=no', '-o', 'PubkeyAuthentication=no', '-o', 'User=user', '-o', 'ConnectTimeout=10', '10.10.10.103', "/bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1400791384.19-262170576359689 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1400791384.19-262170576359689 && echo $HOME/.ansible/tmp/ansible-tmp-1400791384.19-262170576359689'"]
그때
10.10.10.103 | FAILED => failed to transfer file to /home/user/.ansible/tmp/ansible-tmp-1400791384.19-262170576359689/command
이 문제에 대한 도움을 주시면 감사하겠습니다.
감사,
편집하다:
Google 기능을 높이기 위해 선택한 답변으로 수정되는 또 다른 오류 표현이 있습니다.
명령을 실행하면 ansible-playbook -i inventory hello_world.yml
모든 호스트에 대해이 경고가 표시됩니다.
[WARNING]: sftp transfer mechanism failed on [host.example.com]. Use ANSIBLE_DEBUG=1 to see detailed information
그리고 명령을 다시 실행 ANSIBLE_DEBUG=1 ansible-playbook -i inventory hello_world.yml
하면 얻을 수있는 유일한 추가 정보는 다음과 같습니다.
>>>sftp> put /var/folders/nc/htqkfk6j6h70hlxrr43rm4h00000gn/T/tmpxEWCe5 /home/ubuntu/.ansible/tmp/ansible-tmp-1487430536.22-28138635532013/command.py
원격 서버의 sshd에서 sftp 하위 시스템을 활성화 했습니까? / etc / sshd / sshd_config에서 확인할 수 있습니다. 구성 파일 이름은 배포판에 따라 다릅니다… 어쨌든 다음을 찾으십시오.
Subsystem sftp /usr/lib/ssh/sftp-server
이 줄이 주석 처리 된 경우 sftp가 비활성화됩니다. 이를 수정하려면 sftp를 활성화하거나 Ansible 구성을 변경할 수 있습니다. Ansible 구성 변경을 선호하고 ansible.cfg를 살펴보고 추가 / 변경합니다.
[ssh_connection]
scp_if_ssh=True
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다