xauthが.Xauthorityファイルを作成していません


28

ヘッドレスLinux Mint 17システムにsshしても、アップデートが作成されず、.Xauthorityファイルが作成されません。

さらに、実行するxauthと、応答が返されます。

marty@N40L ~ $ xauth
xauth:  file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>exit
marty@N40L ~ $ xauth
xauth:  file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>

ファイルは作成されません。

編集:

モニターを接続してローカルにログインすると、ファイルが作成されますが、エントリを追加しようとすると(SSHがそれを行わないため):

marty@N40L ~ $ xauth list
N40L/unix:0  MIT-MAGIC-COOKIE-1  34eee3b15cdb281021502d40dfba1cf2
localhost.localdomain/unix:0  MIT-MAGIC-COOKIE-1  34eee3b15cdb281021502d40dfba1cf2
marty@N40L ~ $ ls -d .X*
-rw------- 1 marty marty 115 Sep  3 12:03 .Xauthority
marty@N40L ~ $ xauth generate $DISPLAY .
PuTTY X11 proxy: wrong authorisation protocol attemptedxauth: (argv):1:  unable to open display "localhost:10.0".

ちなみに、実行するnetstat --listenとポートがリッスンしていることがわかります。

tcp 0 0 localhost:6010 *:* LISTEN

AGH、詳細。サーバーのXセッションからログアウトしましたが、.Xauthorityファイルが消えました。ローカルにログインしたときのみ、ファイルがそこにあるようです。誰が私に理由を教えてもらえますか?

新規開発:

「test」と呼ばれるシステム上に新しいユーザーを作成しました。次にログインし、他のコマンドなしでxeyesを実行しました。うまくいきました!したがって、xforwardできないのはユーザー "marty"だけです。設定をテストからマーティにコピーするにはどうすればよいですか?


ファイルを作成するように指示しましたか?ssh -XX11転送を有効にします。
grawity

はい、WindowsでPuttyを使用して、転送用にセットアップしています(別のMintサーバーへの接続で動作します)。しかし、ファイルは作成されないので、手動で追加すると思ったのですが、xauthも手動で作成しません。
wkdmarty 14

ローカルXwindowsは.Xauthorityファイルを作成しますが、Putty SSHセッションは作成しません。接続をリッスンしているように見えますが。
wkdmarty 14

回答:


34

ただ報告するために、私は同様の問題を抱えていました。しかし、私の場合は、次の手順に従うだけです

$HOME/.Xauthorityファイルを作成するには、次の手順に従います。

ユーザーとしてログインし、ユーザーのホームディレクトリにいることを確認します。

# Rename the existing .Xauthority file by running the following command
mv .Xauthority old.Xauthority 

# xauth with complain unless ~/.Xauthority exists
touch ~/.Xauthority

# only this one key is needed for X11 over SSH 
xauth generate :0 . trusted 

# generate our own key, xauth requires 128 bit hex encoding
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)

# To view a listing of the .Xauthority file, enter the following 
xauth list 

その後.Xauthority、それ以降、ファイルに問題はありません。

srinivasanに感謝します。


1
私の場合、この[ prefetch.net/blog/index.php/2011/11/01 / ... スレッドを使用して、どこか他の場所を指す環境変数XAUTHORITYがありました(不注意なミス)。エラー。を使用strace xauthして、変数で指定された誤ったパスを指摘しました。私はまた、とりわけ、私はロックエラーaswelを得ていたことを追加する必要があります
サイベックス

1
私の場合、ステップ1から3を実行するだけで済みました。ステップ4および5は実際には機能しませんでした。
リチャードアヨーテ

私はxauth generate :0 . trustedすべてのコマンドの後にuserディスプレイを開くようにしなければなりませんroot。修正することはできますか?
ティモ

xhost +としてx-appsを開くのに役立ちましたroot
ティモ

7
ステップ3でエラーが表示されます:xauth: (argv):1: unable to open display ":0".
-simpleuser

4

優れたトン答えを補完するだけです。

私のホームディレクトリが100%いっぱいになったので、私はかつてまったく同じ問題を抱えていました。接続時にssh~/.Xauthorityを作成し、単一のエントリを書き込むことができませんでした(そのため、xauth list常に空の出力が生成されていました)。

したがって、空き領域を常にチェックし(例df -h:)、xauth generateそれを検証し、xauth add実際に何らかの効果があったことをお勧めします(xauth list)。


1

テストユーザー(xフォワーディングは「箱から出して」機能した)を追加して、システムではないことがわかった後、「壊れた」ユーザーを処女化するために.bash *スタートアップファイルのコピーを開始すると思いました。

ファイルに違いはなかったため、次にユーザーの.sshディレクトリを削除しました。sshしたとき、「サーバーがキーを拒否しました」とうめきましたが、パスワードを使用してログインできました。ログインすると、完全に転送できました。

キーをもう一度セットアップして、それも機能するかどうかを確認します。その後、通常に戻ります。


1

.ssh邪魔にならないようにディレクトリを移動すると、X転送が機能しました。

削除のプロセスを経て、「rc」と呼ばれる〜/ .ssh内のファイルが見つかりました。

echo "Wecome to $(hostname), $(whoami)"

私はこれを作成したことはなく、どこから来たのかわかりません。削除するには、問題を修正し、私のauthorized_keysknown_hosts、およびキーファイルはすべてそのまま滞在することができます。


1

ルート権限の下で/etc/ssh/sshd_config、コメントされている場合は次の行を開いてコメント解除します。

X11Forwarding yes

X11DisplayOffset 10

X11UseLocalhostはい

その後、ログアウトし、-Xフラグを使用して再度ログインしますsshDISPLAY環境変数を設定または設定解除する必要はありません。


0

技術的に姉妹ノードである2台のサーバーでこの同じ問題に遭遇しました。何が違うのかわからなかったので、尾の痛み。/ homeディレクトリがいっぱいであることが判明したため、.Xauthorityファイルを適切に読み込むことができませんでした。ファイルを見つけてスペースを取りすぎてパージすると、新しい.Xauthorityファイルが適切に作成されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.