SSH接続。認証エラーのため X11 接続が拒否されました。

SSH接続。認証エラーのため X11 接続が拒否されました。

私はSSHを通して私の研究室のクラスタにアクセスしようとしたときにうまくいきました。しかし、私は何もできません:

user@users:~> nautilus
X11 connection rejected because of wrong authentication.
Could not parse arguments: Cannot open display

または

user@users:~> gedit
X11 connection rejected because of wrong authentication.

(gedit:151222): Gtk-WARNING **: cannot open display: localhost:11.0

それは今日まで働いています...変更があるかどうかを確認する方法がわかりません。このコンピュータのルートパスワードはありません。私ができることはありますか?

このエラーについては、次の内容をたくさん読んでいますが、何も問題を解決できません。

編集する:

ローカルオペレーティングシステムはUbuntu 16で、サーバーはOpenSuseです。私はそう接続します。

ssh -XY -p22 [email protected]

編集2:

user@users:~> env
MODULE_VERSION_STACK=3.1.6
LESSKEY=/etc/lesskey.bin
NNTPSERVER=news
INFODIR=/usr/local/info:/usr/share/info:/usr/info
MANPATH=/usr/local/man:/usr/share/man
HOSTNAME=users
XKEYSYMDB=/usr/share/X11/XKeysymDB
HOST=users
TERM=xterm-256color
SHELL=/bin/bash
PROFILEREAD=true
HISTSIZE=1000
SSH_CLIENT=10.44.0.1 49729 22
MORE=-sl
SSH_TTY=/dev/pts/2
JRE_HOME=/usr/lib64/jvm/jre
USER=user
LS_COLORS=no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:
LD_LIBRARY_PATH=/usr/local/cuda-5.5/lib:/usr/local/cuda-5.5/lib64:
XNLSPATH=/usr/share/X11/nls
ENV=/etc/bash.bashrc
HOSTTYPE=x86_64
FROM_HEADER=
MSM_PRODUCT=MSM
PAGER=less
CSHEDIT=emacs
XDG_CONFIG_DIRS=/etc/xdg
MINICOM=-c on
MODULE_VERSION=3.1.6
MAIL=/var/mail/user
PATH=/usr/local/cuda-5.5/bin:/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin
CPU=x86_64
JAVA_BINDIR=/usr/lib64/jvm/jre/bin
INPUTRC=/home/user/.inputrc
PWD=/home/user
JAVA_HOME=/usr/lib64/jvm/jre
LANG=en_US.UTF-8
PYTHONSTARTUP=/etc/pythonstart
MODULEPATH=/usr/share/modules:/usr/share/modules/modulefiles
LOADEDMODULES=
QT_SYSTEM_DIR=/usr/share/desktop-data
SHLVL=1
HOME=/home/user
LESS_ADVANCED_PREPROCESSOR=no
OSTYPE=linux
LS_OPTIONS=-N --color=tty -T 0
XCURSOR_THEME=DMZ
MSM_HOME=/usr/local/MegaRAID Storage Manager
WINDOWMANAGER=/usr/bin/gnome
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
LESS=-M -I
MACHTYPE=x86_64-suse-linux
LOGNAME=user
XDG_DATA_DIRS=/usr/share:/etc/opt/kde3/share:/opt/kde3/share
SSH_CONNECTION=172.17.10.15 22
MODULESHOME=/usr/share/modules
LESSOPEN=lessopen.sh %s
INFOPATH=/usr/local/info:/usr/share/info:/usr/info
DISPLAY=localhost:12.0
XAUTHLOCALHOSTNAME=users
LESSCLOSE=lessclose.sh %s %s
G_BROKEN_FILENAMES=1
JAVA_ROOT=/usr/lib64/jvm/jre
COLORTERM=1
_=/usr/bin/env

ベストアンサー1

Xauthorityミニの使い方

X11ディスプレイサーバーを実行しているGNU / Linuxシステムでは、このファイルには~/.Xauthorityディスプレイへの接続を承認するために使用される認証Cookieまたは暗号化キーが格納されます。ほとんどの場合、認証メカニズムは対称クッキーと呼ばれる対称クッキーですMagic Cookie。サーバーとクライアントは同じCookieを使用します。

各X11認証Cookieは、そのシステムの認証されたユーザーによって制御されます。認証Cookieはプレーンテキストセキュリティトークンとして保存されるため、ファイルの権限は8進形式で所有者にのみ適用する必要~/.Xauthorityがあります。ただし、認証ファイルに対する権限は適用されません。rw600

ユーザーはこのxauthプログラムを使用して認証Cookieを一覧表示、エクスポート、作成、または削除できます。次のコマンドはですDISPLAY 32

xauth add localhost:32 - `mcookie`

X11転送を使用するときは、通常、クッキーを手動で作成して操作する必要はありません。これは、X11プロキシがリモートコンピュータで起動され、認証Cookieがローカルモニタに自動的に作成されるsshためです。sshただし、一部の構成では、認証 Cookie を手動で作成し、ローカル コンピューターにコピーする必要があります。

これは、セッション内で実行された次のsshCookiescpをコピーするために使用できます。

sshリモート・システムに入りなさい:

ssh -XY user@remote

現在X11ディスプレイを確認して、認証Cookieがあることを確認してください。

echo $DISPLAY
xauth list

名前付き環境変数がないと、$DISPLAYX11エージェントは正しく起動できません。これは通常DISPLAY 0ローカルにログインしたユーザーで、xserverがローカルで起動したときにのみ実行されますxinit。 X11転送を有効にするためにX11サーバーをローカルで起動する必要はありませんssh

$DISPLAY環境変数が設定されているが、対応するディスプレイ番号に対応する認証Cookieがない場合は、次のように1つを作成できます。

xauth add $DISPLAY - `mcookie`

今クッキーがあることを確認してください。

xauth list

Cookieをコピーしてコンピュータからローカルにマージできます。

user@remote> xauth nextract ~/xcookie $DISPLAY
user@remote> exit
user@local> scp user@remote:~/xcookie ~/xcookie
user@local> xauth nmerge ~/xcookie

次に、クッキーがインストールされていることを確認します。

user@local> xauth list

X11転送SSH接続を試してください。

ガイドライン~/.Xauthority

~/.Xauthorityユーザーがアクセスできる各ディスプレイのすべての認証情報を含むバイナリファイル。各レコードは2バイトで区切られています0x0100。各フィールドの前には、フィールドのバイト数が16進数で表示されます。すべてのテキストは16進ASCIIでエンコードされます。次の表は、MIT MAGIC COOKIE認証の最も一般的な構成の基本構造です。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 0100              0004        61616161           0002           3435                    0012          4d49542d4d414749432d434f4f4b49452d31   0010          c0bdd1c539be89a2090f1bbb6b414c2c 
----------------- ----------- ------------------ ------------  ----------------------  -------------  -------------------------------------- ------------ ---------------------------------------
 start-of-record   0xNumBytes  0xASCII Hostname   0xNumBytes     0xASCII Display Num     0xNumBytes    0xASCII Auth Type                      0xNumBytes    0xkey
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一番上の行はコマンドを介して~/.Xauthorityファイルxauth nlistから検索できます。もちろん、あなたの認証ファイルには私の例とは異なる情報が含まれています。

セキュリティ拡張機能が X11 サーバーで使用される場合、各認証ラインには、Cookie ごとのタイムアウト認証を含む複数の構成オプションがあります。

おすすめ記事