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

回答:



6

このエラーは、リモートマシンが自身のホスト名を認識していないか、127.0.1.1に関連付けられたホスト名が正しくない場合に発生します(注:常にlocalhostに解決される127.0.0.1ではありません)。

これを修正するには、127.0.1.1の/ etc / hostsのエントリがマシンのFQDNおよび短いホスト名と一致することを確認します。


おかげで、私のOpenBSD 5.9(-current)デスクトップでは、まさにその通りでした。
Jason Robinson

これが当てはまるのは、「xauth list」に2つの異なるホスト名が表示される場合です。root @ sdi-playout:〜#xauth list 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マジッククッキー自体の診断を試みることができます。

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 restartCentOS 5を使用しています)

次に、ログアウトして再度ログインします

xauthが設定されていることを確認してください

xauthパッケージがインストールされていることを確認してください。Debianでは、これはxbase-clientsパッケージの一部です。

まだ機能しない

私が答えている質問では、エラーメッセージはこれです: /usr/bin/xauth: (stdin):1: bad display name "pinker-server:10.0" in "remove" command

以下に提案する1つの可能な解決策は、関連する行がsshd_config次のようになることを確認することです。

X11UseLocalhost yes

ソリューションに近づいている可能性がありますか?上記の情報を更新しました。ありがとうございました。
Rucent88 14

3
一般に、ホスト名を127.0.0.1に追加することはお勧めできません。
slm

私はそれを反映するように答えを編集しました。
サミア14

1

Gentooアップグレード後にこの問題にぶつかった。このページは、「addコマンドでの表示名unixの追加」の最初のgoogle結果です。ここで説明されている解決策はどれも役に立ちませんでした。回避策は、debianのバグの説明に記載されています(前述のGoogle検索ページの2番目のリンク)。

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設定、特別なものはありません。
Vladimir Kunschikov
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.