xauth tidak membuat file .Xauthority

28

Ketika saya ssh ke sistem Linux Mint 17 tanpa kepala, itu tidak membuat pembaruan / membuat file .Xauthority.

Selain itu, ketika saya menjalankan xauthsaya mendapat balasan:

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>

Itu tidak membuat file.

EDIT:

Ketika saya menghubungkan monitor, kemudian masuk secara lokal, file dibuat tetapi ketika saya mencoba untuk menambahkan entri (karena SSH saya tidak melakukannya untuk saya):

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

Kebetulan, melakukan netstat --listenpertunjukan menunjukkan port mendengarkan:

tcp 0 0 localhost:6010 *:* LISTEN

AGH, info lebih lanjut. Saya keluar dari sesi X di server, dan sekarang file .Xauthority telah hilang. Tampaknya file tersebut HANYA di sana ketika login secara lokal. Adakah yang bisa memberi tahu saya alasannya, atau bagaimana saya bisa memperbaikinya?

PENGEMBANGAN BARU:

Saya membuat pengguna perawan pada sistem yang disebut "test". Saya kemudian login, dan tanpa perintah lainnya, menjalankan xeyes. Yang berhasil! Jadi HANYA pengguna "marty" yang tidak bisa xforward. Bagaimana cara menyalin pengaturan dari test ke marty?

wkdmarty
sumber
Apakah Anda memberi tahu untuk membuat file? ssh -Xmemungkinkan penerusan X11.
user1686
Ya, saya menggunakan Putty pada Windows, pengaturan untuk penerusan (berfungsi menghubungkan ke server Mint lain). Tetapi file tersebut tidak dibuat, jadi saya pikir saya akan menambahkannya secara manual, xauth juga tidak membuatnya secara manual.
wkdmarty
Xwindows lokal membuat file .Xauthority, tetapi sesi Putty SSH tidak. Meskipun itu menunjukkan itu mendengarkan koneksi.
wkdmarty

Jawaban:

34

Hanya untuk melaporkan, saya memang memiliki masalah yang sama. Tetapi dalam kasus saya, saya hanya mengikuti langkah-langkah ini :

Ikuti langkah-langkah ini untuk membuat $HOME/.Xauthorityfile.

Masuk sebagai pengguna dan konfirmasi bahwa Anda berada di direktori home pengguna.

# 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 

Setelah itu tidak ada lagi masalah dengan .Xauthorityfile sejak saat itu.

Terima kasih dan penghargaan untuk srinivasan .

ton
sumber
1
dalam kasus saya, saya memiliki variabel lingkungan XAUTHORITY yang menunjuk ke tempat lain (kesalahan ceroboh), menggunakan [ prefetch.net/blog/index.php/2011/11/01/... utas ini saya dapat menemukan ini dan menyelesaikan kesalahan. Menggunakan strace xauth, itu menunjukkan jalan yang salah ditentukan dalam variabel. Saya juga harus menambahkan bahwa saya mendapatkan kesalahan penguncian, antara lain
Cybex
1
Dalam kasus saya, saya hanya perlu melakukan langkah 1 hingga 3. Langkah 4 dan 5 benar-benar membuatnya tidak berfungsi.
Richard Ayotte
Saya harus lakukan xauth generate :0 . trustedsetelah setiap perintah useruntuk membuka layar sebagai root. Bisakah saya memperbaikinya?
Timo
xhost +membantu membuka x-apps sebagai root.
Timo
7
langkah 3 memberi saya kesalahan:xauth: (argv):1: unable to open display ":0".
simpleuser
4

Hanya untuk melengkapi baik ton 's jawaban .

Saya pernah memiliki masalah yang sama persis karena direktori rumah saya telah menjadi 100% penuh. Setelah koneksi, sshbuat kosong ~/.Xauthoritydan tidak dapat menulis satu entri pun untuk itu (sehingga xauth listselalu menghasilkan output kosong).

Jadi saya sarankan seseorang selalu memeriksa ruang kosong (misalnya df -h:) dan memverifikasi itu xauth generatedan xauth addmemang punya efek ( xauth list).

Bas
sumber
1

Setelah mengetahui bahwa itu bukan sistem, dengan menambahkan pengguna uji (yang meneruskan x berfungsi "di luar kotak"), saya pikir saya akan mulai menyalin file .bash * startup untuk menyamaratakan pengguna yang "rusak".

Tidak ada file yang berbeda, jadi selanjutnya saya menghapus direktori .ssh pengguna. Ketika saya ssh'd, itu mengeluh tentang "Server menolak kunci kami", tetapi saya bisa masuk menggunakan kata sandi. Setelah masuk, saya bisa x maju dengan sempurna.

Sekarang saya akan mencoba mengatur kunci lagi dan melihat apakah saya bisa membuatnya bekerja juga. Maka itu akan kembali normal.

wkdmarty
sumber
1

Memindahkan .sshdirektori keluar dari jalan membuat penerusan X bekerja untuk saya.

Melalui proses eliminasi, saya menemukan file di ~ / .ssh yang disebut "rc", dan berisi:

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

Saya tidak pernah membuat ini, dan tidak tahu dari mana asalnya. Menghapus itu tetap masalah, dan saya authorized_keys, known_hosts, dan file kunci semua bisa tinggal utuh.

billq
sumber
1

Di bawah hak akses root, buka /etc/ssh/sshd_configdan batalkan komentar pada baris berikut jika dikomentari:

X11 Meneruskan ya

X11DisplayOffset 10

X11UseLocalhost ya

Kemudian logout dan login lagi dengan -Xflag in ssh. Anda tidak perlu mengatur atau membatalkan DISPLAYvariabel lingkungan.

varsh
sumber
0

Saya menemukan masalah yang sama pada dua server yang secara teknis adalah saudara node. Rasa sakit di ekor saya, karena saya tidak tahu apa yang berbeda. Ternyata direktori / home penuh, jadi file .Xauthority tidak dapat diisi dengan benar. Setelah saya menemukan file mengambil terlalu banyak ruang dan membersihkannya, file .Xauthority baru dibuat dengan benar.

Linux_User
sumber