Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Удалённый запуск процесса на винде из Linux

Опубликовано

Хотелось бы уметь запустить удалённо из Linux headless server процесс в Windows. Я попровал wine + PsExec. Эксперимент провалился. При попытке

$ wine ./PsExec.exe \\\\xxx.xxx.xxx.xxx ipconfig

PsExec выдаёт

Couldn't access xxx.xxx.xxx.xxx:

Path not found

 

Видимо он пытается открыть \\xxx.xxx.xxx.xxx\admin$ и, естественно, обламывается. Я попровал смонтировать \\xxx.xxx.xxx.xxx\admin$ в afolder/admin$ и запустить PsExec так:

$ wine ./PsExec.exe afolder ipconfig

Но без \\ PsExec просто печатает экран помощи.

 

Есть другие варианты? cygwin не предлагать. Telnet остаётся как нулевой вариант.

Рекомендуемые сообщения

Опубликовано
Поделитесь подробностями решения, пожалуйста. Вы ставили SSH на windows или как-то ещё?
Опубликовано
Дык а что делать, если никсоиды не удосужились написать ничего более удобного для удалённого запуска процессов в Windows.

 

Это случилось потому, что в windows нет реализации стандартных открытых сетевых протоколов для этого. Скорее всего, нет намерено, ибо тогда пользователи значительно реже платили бы за microsoft-овские реализации, предпочитая открытые. Впрочем, я надеялся, что есть какое-то значительно более легковесное решение, и экспериментировал в том числе со стандартным telnet server в windows, но он оказался глючным.

 

Впрочем, с такой подробной инструкцией отлично прокатит и это, спасибо!

Опубликовано
SSH предназначен для UNIX систем и тоже в общем-то для интерактивного доступа прежде всего.

Да, в первую очередь SSH используется для интерактивных сессий, однако с задачей удалённого запуска приложений он справляется полностью.

Из стандартного мана - «ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. »

Он:

  • Производит аутентификацию сервера
  • Берёт на себя авторизацию клиента на сервере
  • Позволяет задавать программам, запускаемым на серверной стороне, аргументы
  • Позволяет подавать им данные на стандартный вход
  • Собирает стандартный вывод и вывод ошибок
  • Собирает код возврата
  • Производит привязку к терминалу - при обрыве связи во время выполнения программы приложение на той стороне получит соответствующий сигнал (если хочется иного, то для отвязки программы от терминала существуют специальные программы, это элементарно)
  • Шифрует передаваемые по сети данные, причём стойкость и скорость шифра можно выбирать
  • Опционально сжимает их
  • Опционально может позволять удалённым приложениям выводить графику на локальном графическом сервере (X Forwarding)

Я могу писать что-то вроде

dd if=/dev/hda1 bs=1k conv=sync,noerror | gzip -c | ssh -c blowfish user@hostname "dd of=filename.gz bs=1k"

И оно будет работать.

 

Мои потребности это покрывает полностью. Мне очень хотелось бы иметь сравнимый функционал в windows.

Опубликовано

Чего только люди, использующие Windows, не вытворяют...

 

в windows нет реализации стандартных открытых сетевых протоколов для этого
А какие есть стандартные открытые протоколы для этого? Telnet и SSH давайте оставим в стороне. Telnet не для этого, а для обмена текста интерактивно. SSH предназначен для UNIX систем и тоже в общем-то для интерактивного доступа прежде всего. Какие специально для удалённого запуска процессов открытые и мультиплатформенные протоколы вы знаете, и какие из них реализованы в Linux и не реализованы в Windows?

 

Мда... Это не SSH предназначен для UNIX систем, а в Windows полнофункциональный (но неудобный) шел появился недавно. В виндовс 10 и свой аналог ssh появится. Ну да ладно...

 

В Linux/UNIX, например, реализован открытый кросплатформенный RPC ONE в реинкарнации portmap. А в Windows? Пшик!

Вот только не нужно вспоминать про Services for UNIX от Microsoft, т.к. он работает примерно также как telnet, который помянули чуть выше. ) Вроде и есть, но толку он него никакого.

Опубликовано
Хотелось бы уметь запустить удалённо из Linux headless server процесс в Windows. Я попровал wine + PsExec. Эксперимент провалился. При попытке
$ wine ./PsExec.exe \\\\xxx.xxx.xxx.xxx ipconfig

PsExec выдаёт

Couldn't access xxx.xxx.xxx.xxx:

Path not found

 

Видимо он пытается открыть \\xxx.xxx.xxx.xxx\admin$ и, естественно, обламывается. Я попровал смонтировать \\xxx.xxx.xxx.xxx\admin$ в afolder/admin$ и запустить PsExec так:

$ wine ./PsExec.exe afolder ipconfig

Но без \\ PsExec просто печатает экран помощи.

 

Есть другие варианты? cygwin не предлагать. Telnet остаётся как нулевой вариант.

 

 

1. PsExec + явное указание wine нативных библиотек может решить проблему

2. Зарегистрируй процесс в windows как службу

Из wine найти способ запустить удаленную службу.

3. rdesktop -A

http://www.cendio.com/seamlessrdp/

Используя сие кривое (но нативное решение) можно породить процесс, который запустит вашу службу.

Если запросит X11 - XVfb в помощь.

 

Опубликовано

$ winexe -U HOME/Administrator%'Pass123' //host 'cmd /C net stop wuauserv && net start wuauserv && echo AutoUpdates service restarted'

net rpc service start SERVICENAME -I IPADDRESS -U USERNAME%PASSWORD

 

http://stackoverflow.com/questions/1195638...rom-a-linux-box

http://lifehacker.com/5575671/restart-wind...m-your-linux-pc

 

Опубликовано
... RPC к обсуждаемой проблеме отношения не имеет.

 

Ты такой милашка.) Проследи тред с начала. Ты пишешь, что де ssh - это для интерактива и вообще не по теме и спрашиваешь, какие есть открытые _протоколы_ (которые де не реализованы в Windows) для "этого". "Этого" чуть выше в контексте обозначает именно "запуск процессов". Ну а как расшифровывается RPC, ты знаешь.

 

Был бы общий RPC - навоял скрипт на Perl'e/Python'e из 10 строк и запустил.

Опубликовано
Безусловно RPC можно использовать и для запуска процессов.

 

И я о чём. При этом запущенная удаленно процедура будет, скорее всего, новым процессом. Я не думал, что человек, которому приходится пританцовывать в присядку с cygwin и ssh под windows, окажется таким гордым буквоедом. :) Кроссплатформенный протокол исключительно для неинтерактивного выполнения процессов был и успешно помер за ненадобностью. Это был rsh.

 

Вы просто засоряете тему своей обычной желчью про Windows.

 

Да и ты вроде не мистер Политкорректность.:)

Дык а что делать, если никсоиды не удосужились написать ничего более удобного для удалённого запуска процессов в Windows.

Как оказалось, придумали.) И то, что winexe развивается в рамках проекта Samba мне подсказывает, что winexe как раз и работает через RPC протокол.

 

Безусловно RPC можно использовать и для запуска процессов. ... Также можно и HTTP использовать, если веб-сайт правильный написать. Но это не делает HTTP протоколом для запуска удалённых процессов.

 

Порыскав немного в Инете, я понял, откуда у тебя такие мысли. В Server 8 появился свой SSH aka Windows Remote Shell. На C#! :))) Поверх SOAP, т.е. XML! :))) Да, в Microsoft делают правильное веб-приложение, когда речь идет о системном программировании!

  • 9 месяцев спустя...
Опубликовано
В общем, всё свелось к Cygwin в результате. Overkill, конечно, но что делать.

В этом наследии DOS и так для сколь-либо комфортной работы нужен cygwin и X-сервер. Так что думаю, немногое потеряно.

Опубликовано
Это случилось потому, что в windows нет реализации стандартных открытых сетевых протоколов для этого. Скорее всего, нет намерено, ибо тогда пользователи значительно реже платили бы за microsoft-овские реализации, предпочитая открытые.

Поправьте меня но WinRM использует http или https, куда уж стандартнее.

 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.