ข้อผิดพลาดในการส่งต่อ Xauth / X11 ssh ด้วยไฟล์. Xauthority ไม่สามารถเขียนได้


4

เมื่อเข้าสู่ระบบด้วยssh -Y remotehostฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

/ usr / bin / xauth: /home/hlovdal/.Xauthority ไม่สามารถเขียนได้การเปลี่ยนแปลงจะถูกละเว้น

และ xclock และที่คล้ายกันล้มเหลวในการเริ่มต้น ไม่มีอะไรผิดปกติกับสิทธิ์ของไฟล์. Xauthority แม้จะมีข้อความแสดงข้อผิดพลาด

(hlovdal) remotehost:~>xclock
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
Error: Can't open display: localhost:10.0
(hlovdal) remotehost:~>ls -l /home/hlovdal/.Xauthority
-rw-------. 1 hlovdal hlovdal 70 Jul 25 23:30 /home/hlovdal/.Xauthority
(hlovdal) remotehost:~>

อะไรคือสาเหตุที่นี่

(นี่คือระหว่างแล็ปท็อปสองเครื่องของฉันที่ฉันมี shh-ed ไปมาหลายร้อยครั้งก่อนหน้า)


ปรับปรุง:

ในขณะที่การดีบั๊กเพิ่มเติม xauth บ่นอีกครั้งว่ามันไม่สามารถเขียนถึง. Xauthority นี้ไม่สมเหตุสมผลเนื่องจากไฟล์นั้นเขียนได้โดยผู้ใช้ของฉันและจากความอยากรู้อยากเห็นฉันวิ่ง strace เพื่อดูว่ามันพยายามทำอะไร

(hlovdal) remotehost:~>xauth list
xauth:  /home/hlovdal/.Xauthority not writable, changes will be ignored
(hlovdal) remotehost:~>strace -oout -f -s9000 xauth list
xauth:  error in locking authority file /home/hlovdal/.Xauthority
(hlovdal) remotehost:~>tail out
16634 brk(0xf03000)                     = 0xf03000
16634 brk(0)                            = 0xf03000
16634 rt_sigaction(SIGINT, {0x4050d0, [INT], SA_RESTORER|SA_RESTART, 0x3957035350}, {SIG_DFL, [], 0}, 8) = 0
16634 rt_sigaction(SIGTERM, {0x4050d0, [TERM], SA_RESTORER|SA_RESTART, 0x3957035350}, {SIG_DFL, [], 0}, 8) = 0
16634 rt_sigaction(SIGHUP, {0x4050d0, [HUP], SA_RESTORER|SA_RESTART, 0x3957035350}, {SIG_DFL, [], 0}, 8) = 0
16634 rt_sigaction(SIGPIPE, {0x4050d0, [PIPE], SA_RESTORER|SA_RESTART, 0x3957035350}, {SIG_DFL, [], 0}, 8) = 0
16634 stat("/home/hlovdal/.Xauthority-c", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
16634 open("/home/hlovdal/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
16634 write(2, "xauth:  error in locking authority file /home/hlovdal/.Xauthority\n", 66) = 66
16634 exit_group(1)                     = ?
(hlovdal) remotehost:~>ls -l .Xauthority*
-rw-------. 1 hlovdal hlovdal 70 Jul 25 23:30 .Xauthority
-rw-------. 2 hlovdal hlovdal  0 Jul 26 01:26 .Xauthority-c
-rw-------. 2 hlovdal hlovdal  0 Jul 26 01:26 .Xauthority-l
(hlovdal) remotehost:~>

สิ่งนี้อธิบายได้ดีกว่าว่าทำไม xauth จึงล้มเหลวเนื่องจากไม่สามารถสร้าง. Xauthority-c แต่การลบทั้งสองไฟล์นั้นอาจเป็นไฟล์เก่าไม่ได้ช่วยอะไรเลย syslog ใน remotehost มีสิ่งต่อไปนี้ที่เกี่ยวข้องกับการเข้าสู่ระบบ ssh

sshd[17551]: Accepted publickey for hlovdal from x.x.x.x port 36545 ssh2
sshd[17552]: fatal: mm_request_receive: read: Connection reset by peer
sshd[17551]: pam_unix(sshd:session): session opened for user hlovdal by (uid=0)

ข้อความแสดงข้อผิดพลาด mm_request_receive นี้ไม่เคยเกิดขึ้นมาก่อนดังนั้นฉันเดาว่ามีเงื่อนงำสำหรับการแก้ไขข้อบกพร่องเพิ่มเติม

คำตอบ:


15

ฉันมีปัญหาเดียวกันหลังจากซิงค์โฟลเดอร์บ้านของฉันบน Ubuntu 12.04 ฉันแก้ไขมันโดยใช้คำสั่งต่อไปนี้:

rm ~/.Xaut* 

จากนั้นฉันออกจากระบบและลงชื่อเข้าใช้อีกครั้งการเตือนเกิดขึ้น:

/usr/bin/xauth:  file /home/iranice/.Xauthority does not exist

หลังจากนั้น Linux สร้าง.Xauthorityไฟล์โดยอัตโนมัติ ฉันออกจากระบบและลงชื่อเข้าใช้ใหม่และทุกอย่างก็โอเค


นี่คือสิ่งที่แก้ไขการเชื่อมต่อราสเบอร์รี่ pi กับ Ubuntu 12.04 สำหรับฉันทั้งที่บ้าน
klausnrooster

ฉันเริ่มมีข้อความเดียวกันหลังจากอัปเกรด Unbuntu 17.10 บน Azure VM ฉันจำไม่ได้เลยว่าฉันเริ่มเห็นข้อความนั้นทันทีหลังจากการอัพเกรดเมื่อฉันล็อกอินจากระยะไกลด้วย Putty หรือหลังจากฉันติดตั้ง xrdp เนื่องจากฉันต้องการเชื่อมต่อเดสก์ท็อประยะไกลจากเครื่อง Windows 7 ของฉัน อย่างไรก็ตามโซลูชันที่คุณแนะนำได้รับการแก้ไขแล้ว
Diego Tercero

1

นี่น่าจะเป็นปัญหาที่ทราบกันดีอยู่แล้วซึ่งรายงานที่bugzilla ของ Redhatดังนั้นฉันจะ "ปิด" คำถามนี้และรายงานรายงานข้อผิดพลาดนั้นต่อไป


1

สำหรับฉันฉันมีข้อผิดพลาดนี้:

/usr/bin/xauth: error in locking authority file /home/toto/.Xauthority

เนื่องจากพาร์ติชัน / home ของฉันเต็ม

การเพิ่มพื้นที่ว่างในพาร์ติชันนี้แก้ไขปัญหานี้ได้

คำสั่ง strace: strace -oout -f -s9000 xauth listมีประโยชน์ในการระบุปัญหา


1
อาจช่วยอธิบายคำสั่งได้ - ฉันลองดูmanpage ของ straceแต่ฉันไม่เข้าใจความ-ooutหมายของการโต้แย้ง การอธิบายว่ามันจะเปลี่ยนคำตอบที่ดีให้กลายเป็นคำตอบที่ยอดเยี่ยม
Geek

0

ปัญหาสำหรับฉันคือสิทธิ์ของ SELinux จะต้องกำหนดค่าดังต่อไปนี้:

chcon -Rv unconfined_u:object_r:xauth_home_t: s0 /PATH/.Xauthority

3
ปัญหา OPs เป็นข้อบกพร่องที่รู้จัก คุณกำลังพูดถึง "ปัญหา" อะไร โปรดขยายคำตอบของคุณเพื่อระบุสาเหตุที่ช่วยได้
Ƭᴇcʜιᴇ007
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.