пересылка ssh X11 не будет работать - PullRequest
13 голосов
/ 16 ноября 2011

Я пытался настроить переадресацию порта X11 на своем ноутбуке.Я не могу понять, почему это не сработает.

Я получаю это сообщение при попытке запустить xterm:

X11 connection rejected because of wrong authentication.
xterm Xt error: Can't open display: localhost:10.0

Я не знаю, связано это или нет, но когда я вхожу в систему, я получаю это сообщение:

/usr/bin/xauth:  timeout in locking authority file /home/sphillips/.Xauthority

Интересно, проблема в том, что мой локальный пользователь на моем ноутбуке - skp, а имя пользователя на этом сервере - sphillips.Я смог настроить перенаправление X11 для работы с другими моими компьютерами, использующими тот же логин skp.

Кроме того, переадресация порта X11 работает с компьютера под управлением Windows с использованием Xming и Putty на тот же сервер.Мне нужно вручную настроить переменную DISPLAY на IP-адрес и отобразить 0.0, но это работает.

Я запустил xhost + на своей машине, пытаясь обойти любые проблемы безопасности.Это все еще не работало.

На сервере я проверяю конфигурацию:

$ sudo grep X11Forwarding /etc/ssh/sshd_config
#X11Forwarding no
X11Forwarding yes
#   X11Forwarding no

И на моей машине также:

$ sudo grep X11Forwarding /etc/ssh/sshd_config
[sudo] password for skp: 
#X11Forwarding no
X11Forwarding yes
#   X11Forwarding no

Мой серверRedHat Enterprise Linux 6 и мой ноутбук - Fedora 15.

Может кто-нибудь подсказать мне, как можно заставить SSH X11 работать с моего ноутбука?

Ответы [ 5 ]

12 голосов
/ 26 марта 2012

Я наконец нашел ответ (по крайней мере, для моей ситуации)! Проблема была в SELinux. Я выключил SELinux, и он работал без проблем.

Если вас интересуют все подробности, вы можете прочитать об этом в моем блоге , но позвольте мне подробно изложить соответствующие факты здесь ...

На удаленной машине я использовал dmesg для просмотра сообщений журнала:

dmesg | tail

Я нашел несколько таких сообщений:

type=1400 audit(1332520527.110:51337): avc: denied { read } for pid=25240 comm="sshd" name="authorized_keys" dev=dm-5 ino=167 scontext=unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file

Вы можете проверить состояние SELinux с помощью этой команды:

$ sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: permissive
Policy version: 24
Policy from config file: targeted

Вы можете перевести его в разрешающий режим с помощью этой команды:

setenforce 0

Для получения дополнительной информации о SELinux я нашел Руководство Red Hat полезным . Кроме того, что касается других проблем с SSH, я нашел блог Дэвида полезным для получения помощи при регистрации.

После этого моя пересылка X11 начала работать без проблем.

SELinux предотвращал несколько других вещей. Не удалось создать файлы, необходимые для проверки подлинности ключа. Я также обнаружил, что ssh-keygen блокирует создание ключей в домашнем каталоге.

2 голосов
/ 02 июля 2014

Я тоже наткнулся на это.Но в моем случае это было потому, что я удалил поддержку IPv6 несколько дней назад.Затем я наткнулся на эту ветку , объясняющую, как убедиться, что sshd использует только IPv4.

Вот как я это сделал, добавив:

AddressFamily inet

к вашему ssh_config-file (в Ubuntu / etc / ssh / sshd_config) и заставить sshd перезагрузить свою конфигурацию (kill -SIGHUP pid-of-sshd).

2 голосов
/ 25 января 2012

У меня возникла та же проблема с контейнером Debian OpenVZ, и проблема, похоже, возникла из моего файла / etc / hosts, где «localhost» был связан с IP-адресом локальной сети, а не 127.0.0.1.

До этого

192.168.0.15  dagi dagi.domain.net localhost localhost.localdomain

После:

192.168.0.15  dagi dagi.domain.net
127.0.0.1     localhost localhost.localdomain

После этого и ssh -X, и ssh -Y работали как шарм, даже не перезапуская sshd.

1 голос
/ 05 мая 2014

Помимо ответа @Chl выше, у меня также был поврежденный файл ~ / .Xauthority.

По какой-то причине он принадлежал пользователю root даже в моем домашнем каталоге. Поэтому мне пришлось sudo -s, а затем удалить его.

Затем воссоздали его с touch ~/.Xauthority

После этого переадресация X работала у меня под Ubuntu 14.04.

0 голосов
/ 23 мая 2013
sudo grep X11Forwarding /etc/ssh/sshd_config

X11Forwarding yes 
#sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: permissive
Policy version: 24
Policy from config file: targeted
#You can turn it to permissive mode with this command:
#setenforce 0
...