Обратная пересылка по 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