Запустить rdesktop через ssh на удаленной машине

Запустить rdesktop через ssh на удаленной машине

У меня есть 4 разных устройства Raspberry, которые я подключил к 4 разным мониторам. Предыдущий технический специалист в моей компании установил и включил VNC-сервер на всех из них, так что он мог подключаться к ним через удаленный рабочий стол и выполнять только одну команду.

rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

Он просто подключался к каждому из них, чтобы запустить указанную выше команду, но, конечно, с другим пользователем и терминальным сервером. Я искал более удобный способ для всего вышеперечисленного из моего Fedora Box, чтобы объединить мощь sshpass и ssh. Поэтому сначала я попробовал

sshpass -p 'somepass' ssh [email protected]

и затем из сессии я бегу

rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

но я получил ошибку, которая гласила "не удалось открыть порт дисплея". Теперь я знаю, что результаты этой команды или любой другой команды будут отображены в моем терминале. Поэтому я попробовал несколько вариантов команды ssh, но результатом было либо появление rdsektop на моем экране, либо указанная выше ошибка.

sshpass -p 'somepass' ssh [email protected] -t rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

или

sshpass -p 'somepass' ssh [email protected] -t -X rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

То, чего я хочу добиться здесь, это выполнить команду rdesktop на удаленной машине и показать на экране телевизора сеанс, который я создал ранее. В двух словах. Обойти вход vnc и сделать все это из ssh. Есть ли вообще? Я знаю, что где-то я не прав, но я не могу увидеть, где я не прав.

решение1

не удалось открыть порт дисплея

Эта команда указывает мне, что у вас, вероятно, не происходит автоматическое перенаправление X11. Но вы, похоже, пытаетесь запустить приложение X11 из удаленной системы.

Если вы планируете запускать rdesktop с удаленной системы, то вам нужен сервер SSH для поддержки переадресации X11, вам нужен xauthустановленный на удаленной системе пакет. Вам нужно либо настроить конфигурацию вашего клиента ssh /etc/ssh/ssh_config, ~/.ssh/configлибо передать -Xв sshкомандную строку, чтобы включить переадресацию X11 с клиента.

Однако запуск rdesktopс удаленной машины может оказаться не лучшим вариантом. По сути, у вас есть все накладные расходы сеанса X11, плюс все накладные расходы сеанса RDP. Возможно, лучше использовать функции переадресации портов SSH, а затем запустить локальный клиент rdesktop/freerdp. Таким образом, вы сможете избежать замедления, типичного для удаленных сеансов X11.

Конечно, последнее замечание: я настоятельно рекомендую вам пересмотреть использование sshpass. Если это вообще возможно, вам следует рассмотреть возможность использования аутентификации на основе ключей.

Связанный контент