Туннелирование X11 через SSH с сервера Fedora 3 на клиент Windows Vista не работает

Хорошо, я пробовал использовать Xming и PuTTY, а также Cygwin/X и Cygwin ssh, и это не работает.

Я мог запускать X-приложения локально, так что это не проблема X на стороне клиента.

Я подключился к серверу, используя

ssh -X user@server

и закончилось этим:

local-user@client: ~$ ssh -X user@server
user@server's password:
Last login: Sun Jul 19 15:26:46 2009 from 192.168.100.147
 [user@server ~]$  xclock &
[1] 27770
[user@server ~]$ Error: Can't open display: localhost:10.0    

[1]+  Exit 1                  xclock
[user@server ~]$
[user@server ~]$

Вот соответствующий фрагмент моего sshd_config

#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

Я не могу найти ssh_config на стороне клиента. /etc/ssh не существует.

9 ответов

Вы изменили настройки PuTTY; После того как вы ввели имя сервера или IP-адрес, измените настройки SSH -> X11: установите флажок "Включить пересылку X11" и введите localhost:0 в поле "X display location". Не забудьте вернуться в "Сеанс" и сохранить ваши изменения.

Возможно, вы захотите взглянуть на использование Xvnc. В Fedora вы можете запустить несколько рабочих столов X, к которым вы можете легко подключаться и отключаться в любое время. Недостатком может быть то, что у вас все время работает рабочий стол X. Если проблема связана с абсолютной производительностью, подумайте еще раз (но, эй, если она простаивает какое-то время, ядро ​​все равно выгрузит ее на диск). Хорошим преимуществом является то, что вы можете запустить задачу (в приложении gnome или в терминале) и отключиться, пока она еще работает. Вы можете в любое время подключиться к любому VNC Viewer (используя Portforwarding для дополнительной безопасности), чтобы отслеживать его ход.

Вы, вероятно, хотите использовать -Y скорее, чем -X, В основном это правильно устанавливает доверие (подробности со страницы руководства ssh ниже).

-X Включает пересылку X11. Это также может быть указано для каждого хоста в файле конфигурации.

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

По этой причине на пересылку X11 по умолчанию распространяются ограничения расширения X11 SECURITY. Пожалуйста, обратитесь к опции ssh -Y и директиве ForwardX11Trusted в ssh_config(5) для получения дополнительной информации.

-Y Включает доверенную пересылку X11. Доверенные пересылки X11 не подвергаются элементам управления расширением X11 SECURITY.

Rerun ssh, но также с флагом -v. Возможно, что sshd на удаленной стороне не может найти xauth, чтобы установить ваш магический cookie для аутентификации X.

Или... просто используйте программное обеспечение NoMachine, которое всегда использует сжатый X поверх SSH. Только RPM установить прочь.

Если ваш локальный X-сервер работает нормально и прослушивает сокет локальной сети (должен делать это на порту 6000, проверьте это!), Вы можете вручную переадресовать соединение.

Я предполагаю, что на сервере не работает X-сервер.

Перенаправьте локальный порт 6000 с сервера (чтобы SSH прослушивал порт 6000 на сервере) на локальный порт 6000. После подключения выполните:

экспорт DISPLAY=:0
Xclock

Вы должны получить xclock с сервера, показанного на вашем локальном X-сервере.

Исправление Fedora 11

sudo vim /etc/gdm/custom.conf

Ваш файл должен иметь следующие строки (могут быть и другие строки, поэтому оставьте их)

[XDMCP]

[security] DisallowTCP = false

затем перезапустите X. Это работает... вам может понадобиться настроить брандмауэр, хотя

Я не знаком с серверами Windows X Но следующие два пункта являются общими для любого X-сервера.

  1. Я столкнулся с ситуацией, когда X-сервер настроен так, чтобы не прослушивать TCP-соединения. В этом случае ssh не может пересылать X-соединение. Не могли бы вы проверить
    этот порт 6000 открыт на компьютере, на котором вы запускаете X-сервер. (В Linux это можно сделать с

    sudo netstat -antp | grep 6000

    Я не знаю, работает ли он также в Cygwin?)

  2. Возможно, X-сервер отказывает в соединениях, если вы не скажете, что это безопасно. (На сервере Linux/Unix X11 это можно сделать с помощью

    xhost + имя хоста

    где "hostname" - это имя хоста, которому вы хотите разрешить доступ к вашему X-серверу.)

  3. Предыдущее упоминание об использовании -v (может быть, несколько раз) для ssh стоит бриллиантов, чтобы найти, что идет не так.

Я предполагаю, что вопрос "туннелирование X11 через SSH на сервер Fedora 3 из клиента Windows Vista не работает". (Поменял местами и из)

В этом случае взгляните на мой ответ, и даже другие люди на удаленном рабочем столе отвечают на Ubuntu 9.04 с ПК с Windows.

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