17.11. Туннелирование Х через SSH

Проблема
Вам хотелось бы работать с удаленными сеансами X, но вы знаете, что они
совершенно не защищены. Из-за этого данные X требуется пересылать через
SSH.
Решение
Настройте и запустите SSH так, как было описано в предыдущих разделах, затем
включите пересылку X на сервере SSH в файле /etc/ssh/sshd-config. Укажите ключ -X
при запуске сеанса SSH.
В файл /etc/ssh/sshd-config на сервере SSH включается строка
XllForwarding yes
При подключении к серверу используется ключ -X:
$ ssh -X saturn.test.net
Следующая команда проверяет, что пересылка X работает:
$ echo SDISPLAY
local host: 10.0
Если пересылка не работает, команда вернет пустую строку. А любую программу X,
установленную на сервере, можно запустить так, словно она является локальной.
Комментарий
Запуск удаленных сеансов X через SSH проще и надежнее, чем запуск «обыч ных» сеансов X без SSH, в которых защита данных вообще отсутствует. Тем не
менее некоторый риск все же присутствует. Используйте этот способ для под ключения только к доверенным хостам, потому что любопытный администратор
может легко перехватить нажатия клавиш или входные данные или даже подклю читься к вашему локальному рабочему столу и продолжить исследования. Про следите за тем, чтобы для локального файла -/-^authority был установлен режим
600; по крайней мере вы будете избавлены от любопытства со стороны неприви легированных пользователей удаленного хоста.
Убедитесь, что следующие записи присутствуют в локальном файле /etc/ssh/
ssh_config и во всех файлах ~/ssh/ssh_config вашей системы:
Host *
ForwardXll no
ForwardAgent no
В зависимости от физического расстояния от удаленного сервера и скорости
канала возможны задержки с реакцией на нажатия клавиш или перемещения мыши.
См. также
ssh(l).