SSH XForwarding失败-xauth显示名称错误


9

我正在尝试通过ssh设置XForwarding,但失败。无论我对ssh使用参数-X还是-Y,都会发生相同的结果。我得到的错误。

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".

Answers:



6

当远程计算机不知道它自己的主机名,或与127.0.1.1关联的主机名不正确时,会发生此错误(注意:不是127.0.0.1,它应始终解析为localhost)。

要更正它,请确保/ etc / hosts中127.0.1.1的条目与计算机的FQDN和短主机名匹配。


谢谢,在我的OpenBSD 5.9(当前)桌面上,情况确实如此。
杰森·罗宾逊

一个很好的线索就是这种情况,就是“ xauth list”显示两个不同的主机名。root @ sdi-playout:〜#xauth列表ubuntu-NANOCOM-BT / unix:1 MIT-MAGIC-COOKIE-1 ... sdi-playout / unix:0 MIT-MAGIC-COOKIE-1 ...
kevinf

谢谢!这帮助我解决了VPS的X转发问题。
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自行诊断Magic Cookies。

作为本地用户运行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

参考文献


1

我从http://openvz.org/X_inside_VE#X_forwarding获得了大部分信息

验证SSH中的X

通过SSH登录后,通过查找DISPLAY环境变量来验证X转发是否正常工作:

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

看来我们可能正在接近解决方案?我已经更新了上面的信息。谢谢。
Rucent88

3
将主机名添加到127.0.0.1通常是个坏主意。
slm

我已经编辑了答案以反映这一点。
samiam 2014年

1

Gentoo升级后遇到了这个问题。此页面是“添加命令中添加显示名称unix”的第一个Google搜索结果。此处描述的解决方案均无济于事。解决方法写在debian bug说明中(上述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,好主意)


典型的sshd配置,没什么特别的。
弗拉基米尔·昆斯基科夫(Fladimir Kunschikov)2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.