Обратная пересылка по ssh X

Предположим, у меня есть компьютеры office а также home, Я хочу подключиться с home в office через ssh и запустить программу из home что открывает окно, скажем emacs, на office экран. Является ли это возможным?

2 ответа

Это зависит от того, какие разрешения у вас есть на офисном компьютере и где вы хотите, чтобы программа выполнялась. Если вы рады, что программа использует файловую систему и ЦП офисного компьютера, вы можете просто выполнить команду с DISPLAY=:0, предполагая, что у вас есть соответствующие разрешения (в некоторых дистрибутивах вам понадобится войти в систему на локальный компьютер, прежде чем вы сможете использовать оборудование на нем).

Если вы хотите, чтобы программа работала дома, но отображалась в офисе, лучшим способом было бы использовать функцию переадресации портов SSH. Это позволит вам подключиться обратно из офиса в дом через первоначальное соединение SSH. Вы можете перенаправить порт для X, но я думаю, что их больше, чем один, и тогда вам нужно будет вручную установить $DISPLAY, поэтому я бы рекомендовал переадресовать порт SSH.

Смотрите опцию -R на странице ssh.

Это должно помочь: http://www.howtoforge.com/reverse-ssh-tunneling

Пример: user@home$ ssh -R 20000:localhost:22 office user@office$ ssh -p 20000 localhost

Да, это возможно. Вам нужно включить X-Forwarding на ssh-сервере (в вашем случае домашний компьютер).

Следуйте этому руководству: http://maketecheasier.com/use-ssh-x-forwarding-to-run-remote-apps/2009/06/22

Другие вопросы по тегам