Выполнение файла на windows с linux сервера - PullRequest
1 голос
/ 25 марта 2020

Можно ли выполнять файлы (.exe, .py, .bat и др. c.) На сервере windows с сервера linux. Файлы хранятся на Linux машине. если это возможно, то как мы можем достичь этого, создав python или сценарии оболочки.

1 Ответ

0 голосов
/ 25 марта 2020

Вы можете использовать paramiko для создания в качестве sh соединения с удаленным Linux сервером, загрузить исполняемый файл и запустить его. У меня был какой-то python код, который должен работать для вас:

import os

import paramiko


def create_ssh_connection(username, hostname, port=22, rsa_key=None, password=None):
    if rsa_key:
        rsa_key = paramiko.RSAKey.from_private_key_file(rsa_key, password=password)
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    ssh.connect(
        hostname=hostname,
        username=username,
        pkey=rsa_key,
        password=password,
        port=port
    )

    return ssh


def main():
    # Create SSH connection
    ssh = create_ssh_connection("username", "hostname", password="password")
    # Create SFTP connection
    sftp = ssh.open_sftp()

    # Get file from remote server
    remote_path = "/home/username/example.py"
    local_path = "example.py"
    sftp.get(remote_path, local_path)

    # Execute file
    os.system(local_path)


    # Delete file, if you only want to run it once
    os.remove(local_path)


if __name__ == '__main__':
    main()

...