ヘッドレス 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
ああ、もっと詳しく。サーバー上の X セッションからログアウトしたら、.Xauthority ファイルが消えてしまいました。どうやら、ファイルはローカルにログインしているときだけ存在するようです。誰か、なぜそうなるのか、またはこれを修正する方法を教えてくれませんか?
新たな展開:
システムに「test」という新しいユーザーを作成しました。その後ログインし、他のコマンドを一切使用せずに xeyes を実行しました。うまくいきました。つまり、xforward を実行できないのはユーザー「marty」だけです。test から marty に設定をコピーするにはどうすればよいでしょうか。
答え1
報告しておきますが、私も同じような問題を抱えていました。しかし私の場合は、これらのステップ:
ファイルを作成するには、次の手順に従ってください$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
それ以降、ファイルに関する問題は発生していません。
感謝とクレジットスリニヴァサン。
答え2
ルート権限で/etc/ssh/sshd_config
次の行を開き、コメント化されている場合はコメントを解除します。
X11転送はい
X11ディスプレイオフセット10
X11UseLocalhost はい
-X
その後、ログアウトし、フラグを付けて再度ログインします。環境変数をssh
設定または設定解除する必要はありません。DISPLAY
答え3
答え4
ディレクトリを移動する.ssh
ことで、X 転送が機能するようになりました。
消去法によって、~/.ssh に「rc」というファイルがあり、次の内容が含まれていました。
echo "Wecome to $(hostname), $(whoami)"
私はこれを作成したことはなく、どこから来たのかわかりません。これを削除すると問題は解決し、、、authorized_keys
およびknown_hosts
キー ファイルはすべてそのまま残ります。