Ускорение ssh в пакетных файлах

Вот моя ситуация:
У меня есть Linux-сервер/медиацентр с клиентом Windows.
Моя цель — удаленное управление ритмбоксом среди прочего.
Я сделал это с помощью plink (windows на основе cli ssh toy).
Проблема в том, что запуск сеанса ssh, вход в систему и отправка команды по понятным причинам происходит чертовски медленно. Когда у меня был сервер Windows, я использовал инструмент под названием psexec, который работал почти мгновенно.

Есть ли способ ускорить этот процесс? Либо каким-то образом отправить команды с запросом на вход в систему, что должно показать некоторое улучшение. Или поддерживая постоянное ssh-соединение, которое я могу использовать. (plink dcs в конце команды).

Дополнительная информация:
На моем компьютере с Windows я использую bat, например:
plink -ssh -l username -pw pass myipaddress "/home/username/bin/skip"

На моем компьютере с Linux файл bash пропуска выглядит примерно так:
//needed to get around a x11 error caused by controlling rhythmbox over ssh
if its an ssh connection
   copy the dbusaddress
fi
rhythmbox-client --next //the cli wrapper for rhythmbox
< br>

Дальнейшие исследования:
Похоже, что единственный выход — держать ssh-соединение открытым/поддерживать как службу. Это кажется выполнимым, поскольку есть потребность в настройке туннелей ssh ​​(для обхода брандмауэров). Оттуда мне понадобится способ отправки команд командной строки в это существующее соединение или повторно использовать это соединение.
Другой вариант, конечно, НЕ использовать ssh. Черт, у меня уже есть соединение через файловые ресурсы samba, и там нет никаких задержек. Бьюсь об заклад, я мог бы поставить сервисную сторону Linux, которая проверяет измененный файл. Затем у вас есть клиентская сторона ap, которая изменяет указанный файл. Удивительно хакерский, но пока это кажется лучшим вариантом. И под лучшим я подразумеваю единственный, который сокращает задержку управления. Должен быть лучший способ, чем этот, я не могу быть единственным ботаником, использующим Linux в качестве медиа-центра, которому нужны пульты дистанционного управления. Этот вид перемещает тему из stackoverflow в суперпользователя, но это нормально.


person Ambiwlans    schedule 26.10.2009    source источник
comment
Что такое медленная часть? Ввод учетных данных для входа и команды? Рукопожатие между клиентом и сервером?   -  person mob    schedule 27.10.2009
comment
Я понятия не имею :D Я бы предположил рукопожатие. Я имею в виду, что логин и команда находятся в командном файле. В других местах могут быть узкие места, я понятия не имею, как это проверить. Банкомат через мою локальную сеть занимает примерно 4 секунды. И для пропуска песен это немного расстраивает. В основном потому, что я знаю, что это можно сделать намного быстрее. Я добавлю некоторые подробности о том, как я это делаю выше.   -  person Ambiwlans    schedule 27.10.2009


Ответы (3)


Вы можете использовать SSL-сертификат, чтобы получить избавиться от части входа. В качестве альтернативы создайте себе небольшой HTTP-сервер, который использует «экзотический» порт для управления вашим медиаплеером (кстати, у amarok есть один встроенный модуль).

person ty812    schedule 26.10.2009
comment
Переход на ssl-сертификат вообще не изменил скорость. Я имею в виду, что это более безопасно, так что это не больно. Проблема в том, что ему нужно установить соединение, что требует времени. Должна быть возможность оставить соединение открытым в качестве службы. После чего я могу отправлять данные через командную строку в открытое соединение ssh. Существуют настройки, позволяющие держать ssh-туннели открытыми в службе, поэтому это должно быть выполнимо. И даже если отправка команд на существующее соединение ssh невозможна, я мог бы использовать что-то вроде revsys.com/writings/quicktips/ssh-faster-connections.html, чтобы открыть его НАМНОГО быстрее. - person Ambiwlans; 04.11.2009

Переключение на что-то вроде mpd позволит обойти проблему с ssh, хотя я не даю гарантий, что смена дорожек будет происходить быстрее .

person Ignacio Vazquez-Abrams    schedule 01.01.2010

Если кому-то интересно, в итоге я реализовал сервер на основе http с php для выполнения команд на стороне сервера. А на стороне клиента я использовал curl.exe, чтобы иметь удобные кнопки, на которые можно нажимать, без накладных расходов веб-браузера.

Также приятно, поскольку это позволило мне реализовать пользовательский интерфейс в браузере, который отлично подходит для использования с любой машины с Интернетом, на которой не установлен ssh. И прекрасно работает с моего телефона в качестве пульта дистанционного управления (которым я могу пользоваться из другой страны, если захочу...)

person Ambiwlans    schedule 14.08.2010