Возможно я чего то не доглядел, но если учавствует ansible, то playbook.yml может выглядеть так:
---
- hosts: all
vars:
remote_path: "path/to/file/on/remote"
path_to_local_file: "local/file/yourfile.py"
tasks:
- name: remote path exists?
file:
path: "{{ remote_path }}"
state: directory
- name: copy your file in place.
copy:
src: "{{ path_to_local_file }}"
dest: "{{ remote_path }}/filename.py"
mode: 0755
- name: execute file
shell: >
python3 {{ remote_path }}/filename.py
changed_when: false
Обратите внимание, что ansible на машине с которой хотите запустить должен быть настроен.
Например файл /etc/ansible/hosts должен содержать адреса удаленных машин и иметь возможность подключаться к ним. Кроме того, возможно команда запуска у Вас будет другая (не shell: > python3 {{ remote_path }}/filename.py), зависит от того, что подразумевается под
и он там запуститься