web-dev-qa-db-ja.com

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

私がヘッドレスの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をするとポートがlistenしていることがわかります。

tcp 0 0 localhost:6010 *:* LISTEN

AGH、詳しくは私はサーバー上のXセッションからログアウトし、そして今、.Xauthorityファイルは消えました。ローカルにログインした場合、ファイルはそこだけにあるようです。誰が私にその理由を教えてもらえますか。

新しい開発

私はシステム上に "test"というバージンユーザーを作成しました。それから私はログインしました、そして、他のどんなコマンドもなしで、xeyesを走らせました。これはうまくいった!そのため、xforwardできないのはユーザー "marty"のみです。テストからマーティに設定をコピーする方法を教えてください。

23
wkdmarty

それがシステムではないことがわかった後、テストユーザーを追加することによって(どのxフォワーディングでも "そのまま使える")、 "壊れた"ユーザーを処分するために.bash *スタートアップファイルをコピーし始めると思いました。

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

もう一度キーを設定してみて、これでうまくいくかどうか確認します。それからそれは正常に戻ります。

1
wkdmarty

報告するために、私は同様の問題を抱えていた。しかし、私の場合は これらのステップに従ってください

$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 

それ以降は、それ以降.Xautorityファイルに関する問題は発生しません。

srinivasan に感謝します。

28
ton

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

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

ですから、私は常に空き容量をチェックし(例:df -h)、xauth generatexauth addが実際に何らかの効果があることを確認することをお勧めします(xauth list)。

3
Bass

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

削除の過程で、私は〜/ .sshに "rc"と呼ばれるファイルを見つけました。

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

私はこれを作成したことがない、そしてそれがどこから来たのかわからない。それを削除することで問題は解決し、私のauthorized_keysknown_hosts、そしてキーファイルはすべてそのまま残ることができます。

1
billq

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

0
Linux_User