Ошибка SSH XForwarding - неправильное отображаемое имя

9

Я пытаюсь настроить XForwarding поверх SSH, но это не удается. Тот же самый результат случается, использую ли я аргумент -X или -Y для ssh. Я получаю ошибку.

a@ASUS-N53SM:~$ ssh -X -p 6623 pinker@192.168.0.200
pinker@192.168.0.200's password: 
Last login: Sun Feb  2 18:42:08 2014 from 192.168.0.201
/usr/bin/xauth: (stdin):1:  bad display name "pinker-server:10.0" in "remove" command
/usr/bin/xauth: (stdin):2:  bad display name "pinker-server:10.0" in "add" command
xdpyinfo:  unable to open display "pinker-server:10.0".

В файле клиента ~ / .ssh / config

ForwardX11 yes

В файле клиента / etc / ssh / ssh_config (комментарии удалены).

Host *
ForwardX11 yes
ForwardX11Trusted yes
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes 
GSSAPIDelegateCredentials no

В файле сервера / etc / ssh / sshd_config (комментарии удалены).

Port 6623
Port 6624
Port 6625
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
X11UseLocalhost no
AllowTcpForwarding yes

Я нашел этот похожий вопрос , но ни один из ответов не работает.

ОБНОВИТЬ:

На сервере я добавил в файл / etc / hosts.

127.0.0.1       pinker-server

На сервере я установил пакет xbase-clients. На ssh соединение echo $DISPLAYвыводится :0.0.

Теперь я получаю новую ошибку.

X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
xdpyinfo:  unable to open display "pinker-server:10.0".
Rucent88
источник

Ответы:

7

На удаленном компьютере отредактируйте файл / etc / ssh / sshd_config. Изменить X11UseLocalhostна да.

Источник http://www.pclinuxos.com/forum/index.php?topic=109487.0

Sepero
источник
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
СЛМ
6

Эта ошибка возникает, когда удаленный компьютер не знает своего собственного имени хоста или имеет неправильное имя хоста, связанное с 127.0.1.1 (ПРИМЕЧАНИЕ: не 127.0.0.1, который всегда должен преобразовываться в localhost).

Чтобы исправить это, убедитесь, что запись в / etc / hosts для 127.0.1.1 соответствует полному доменному имени и короткому имени хоста.

AGB
источник
Спасибо, это было именно так для меня на моем рабочем столе OpenBSD 5.9 (-current).
Джейсон Робинсон
хорошая подсказка, что это тот случай, когда «список xauth» показывает два разных имени хоста. root @ sdi-playout: ~ # xauth list ubuntu-NANOCOM-BT / unix: 1 MIT-MAGIC-COOKIE-1 ... sdi-playout / unix: 0 MIT-MAGIC-COOKIE-1 ...
Кевинф
Спасибо! Это помогло мне устранить ошибку X-forwarding для моего VPS.
Llinfeng,
5

Каждый раз, когда я сталкиваюсь с проблемой SSH, я почти сразу перезапускаю команду с включенным более подробным обменом сообщениями. Мне нравится использовать эту технику для сбора файла журнала на сервере, с которого я работаю ssh. Если вам нужно получить больше деталей, просто добавьте больше -vпереключателей (максимум 3).

$ ssh -v user@remoteserver |& tee /path/to/sshv1.log
-or-
$ ssh -vv user@remoteserver |& tee /path/to/sshv2.log

X11 соединение отклонено из-за неправильной аутентификации.

Это сообщение почти всегда указывает на проблему с правами доступа к вашему .Xauthorityфайлу. Вы можете либо временно удалить существующий, либо попытаться исправить его права собственности и права доступа.

$ chown user:group ~/.Xauthority
$ chmod 0600 ~/.Xauthority

Если проблема не устранена ни одной из этих операций, вы можете попытаться самостоятельно диагностировать xauthмагические куки-файлы.

как локальный пользователь под управлением ssh

$ xauth list
localhost/unix:13 MIT-MAGIC-COOKIE-1 c77169a6fa8139ea36f538e1c72e1b98

как розовый на сервере

$ xauth
Using authority file /home/pinker/.Xauthority

Затем добавьте ключ вручную:

xauth> add localhost/unix:13 MIT-MAGIC-COOKIE-1 c77169a6fa8139ea36f538e1c72e1b98

Ссылки

SLM
источник
1

Я получил большую часть этой информации от http://openvz.org/X_inside_VE#X_forwarding

Проверьте X в SSH

После входа через SSH убедитесь, что X forwarding работает, ища переменную окружения DISPLAY:

echo $DISPLAY

Ответ должен быть что-то вроде localhost:8.0

Убедитесь, что sshd разрешает пересылку X

Отредактируйте /etc/ssh/sshd_configи убедитесь, чтоX11Forwarding yes

Если нет, отредактируйте или добавьте строку с помощью X11Fordwarding, затем перезапустите sshd:

service sshd restart( /etc/init.d/sshd restartиспользует CentOS 5)

Затем выйдите и снова

Убедитесь, что Xauth настроен

Убедитесь, что пакет xauth установлен. В Debian это часть xbase-clientsпакета.

Это все еще не работает

В вопросе, на который я отвечаю, сообщение об ошибке таково: /usr/bin/xauth: (stdin):1: bad display name "pinker-server:10.0" in "remove" command

Одно из возможных решений, предложенных ниже, заключается в том, что соответствующая строка sshd_configвыглядит следующим образом:

X11UseLocalhost yes
samiam
источник
Похоже, мы можем приблизиться к решению? Я обновил информацию выше. Спасибо.
Rucent88
3
Обычно плохая идея добавить имя хоста в 127.0.0.1.
SLM
Я отредактировал ответ, чтобы отразить это.
Самам
1

Наткнулся на эту проблему после обновления Gentoo. Эта страница является первым результатом Google для "добавить отображаемое имя Unix в команду добавления". Ни одно из описанных здесь решений не помогло. Обходной путь написан в описании ошибки в Debian (вторая ссылка на вышеупомянутой странице поиска Google):

sethostname any-name-here

после выполнения 'sethostname vvk' я могу войти с X-forwarding, как и раньше. Этот ответ набирается из браузера, который запускается в самой первой правильной оболочке, вошедшей в систему на удаленном сервере.

Владимир Кунщиков
источник
0

Для меня работает как брелок sshd_config

    Protocol 2
AuthorizedKeysFile  .ssh/authorized_keys
KerberosAuthentication yes
KerberosOrLocalPasswd yes
KerberosTicketCleanup yes
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
X11Forwarding yes
X11UseLocalhost yes
UsePrivilegeSeparation yes      # Default for new installations.
Banner /etc/issue.net
Subsystem   sftp    /usr/libexec/openssh/sftp-server
Ciphers aes256-ctr,aes192-ctr,aes128-ctr,arcfour256
MACs hmac-sha2-256,hmac-sha2-512,hmac-sha1,umac-64@openssh.com,hmac-ripemd160

ssh_config

Host *
   ForwardX11trusted yes
   GSSAPIAuthentication yes
   GSSAPIDelegateCredentials yes

И использовать

ssh -X remotehost

конечно сервер Xorg должен быть установлен полностью (с помощью groupinstall, хорошая идея)

elbarna
источник
Типичный конфиг sshd, ничего особенного.
Владимир Кунщиков