Подтвердить что ты не робот

Передача ssh X11 не будет работать

Я пытаюсь получить пересылку портов 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 для работы с другими моими компьютерами, которые используют один и тот же пароль для входа в систему.

Кроме того, переадресация портов 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-пересылку для работы с моего ноутбука?

4b9b3361

Ответ 1

Наконец-то я нашел ответ (по крайней мере, для моей ситуации)! Проблема была 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

Я получил ту же проблему в контейнере OpenVZ Debian, и проблема, похоже, исходила из моего файла /etc/hosts, где "localhost" был затронут в LAN 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.

Ответ 3

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

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

AddressFamily inet

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

Ответ 4

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

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

Затем воссоздал его с помощью touch ~/.Xauthority

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

Ответ 5

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