Найти - Пользователи
Полная версия: Команда через SSH с Android на Windows ПК
Начало » Python для новичков » Команда через SSH с Android на Windows ПК
1
927863
Извините, в программировании чайник. Есть следующая задача. Запустить на Android SSH-сессию и передавать команду на выключение/гибернацию ПК, на котором установлена Windows и запущен SSH-сервер. Есть такая программа SSH button. Через неё без проблем получается это сделать. Просто указываю в настройках логин, пароль, порт и команду. (см. скриншот)

Но мне нужен именно скрипт в виде отдельно файла, который после выполнения задачи может быть удалён. Вроде с помощью python это можно реализовать. Рылся долго в интернете, удалось собрать такую конструкцию.
 from paramiko import SSHClient, AutoAddPolicy
hostname='100.100.100.100'
username='user'
password='12345678'
cmd="%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate"
client = SSHClient()
client.set_missing_host_key_policy(AutoAddPolicy())
client.connect(hostname, username=username, password=password)
client.exec_command(cmd)
print("Connected to %s" % hostname)

На сервере вижу, что подключение вроде происходит, но команда не выполняется. Может кто знает, что не так? Или чем ещё, кроме питона, можно такое сделать?
py.user.next
927863
На сервере вижу, что подключение вроде происходит, но команда не выполняется.
Попробуй другую команду выполнить, чтобы убедиться, что они выполняются. Например, команду, создающую простой файл.
doza_and
замените ваше
 cmd="%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate"
на
 cmd=r"%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate"
не зря же r по другому подсвечивается.
927863
doza_and
замените ваше
Человечище! Заработало. Всего одна буква. Насчёт подсветки только не понял. Здесь, на сайте, и в редакторе на Android - одинаково чёрный цвет. Погуглил на тему применения r, но пока не нашёл конкретики, почему и где надо использовать. Буду благодарен, если направите в нужном направлении.

В развитие темы, может кто с ходу напишет, чем на Android можно запускать скрипты в бэкграунде? Сам скрипт редактировал в Pydroid 3. Но ассоциировать IDE c файлами *.py, на выполнение, нельзя.
doza_and
Как и в любом языке программирования питон предоставляет возможность включать в строковые литералы непечатаемые символы. Например символ перевода каретки обозначается “\r”. Подавить такую интерпретацию можно либо написав два бек слеша либо запретив интерпретацию для всей строки, что и делает символ r
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB