xauth không tạo tập tin .Xmasterity


28

Khi tôi ssh vào một hệ thống Linux Mint 17 không đầu, nó không tạo ra cập nhật / tạo tệp .Xmasterity.

Hơn nữa, khi tôi chạy xauthtôi nhận được trả lời:

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>

Nó không tạo tập tin.

BIÊN TẬP:

Khi tôi kết nối màn hình, sau đó đăng nhập cục bộ, tệp được tạo nhưng khi tôi cố gắng thêm một mục (vì SSH của tôi không làm điều đó cho tôi):

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

Ngẫu nhiên, làm một netstat --listencổng cho thấy nghe:

tcp 0 0 localhost:6010 *:* LISTEN

AGH, thêm thông tin. Tôi đã đăng xuất khỏi phiên X trên máy chủ và bây giờ tệp .Xmasterity đã biến mất. Có vẻ như tập tin chỉ có ở đó khi đăng nhập cục bộ. Bất cứ ai có thể cho tôi biết tại sao, hoặc làm thế nào tôi có thể khắc phục điều này?

SỰ PHÁT TRIỂN MỚI:

Tôi đã tạo một người dùng còn trinh trên hệ thống gọi là "test". Sau đó tôi đã đăng nhập và không có bất kỳ lệnh nào khác, chạy xeyes. Mà làm việc! Vì vậy, CHỈ người dùng "tử vì đạo" không thể xforward. Làm cách nào để sao chép cài đặt từ test sang marty?


Bạn đã nói với nó để tạo ra các tập tin? ssh -Xcho phép chuyển tiếp X11.
grawity

Có, tôi đang sử dụng Putty trên Windows, thiết lập để chuyển tiếp (hoạt động khi kết nối với máy chủ Mint khác). Nhưng tệp không được tạo, vì vậy tôi nghĩ rằng tôi sẽ thêm nó bằng tay, xauth cũng không tạo tệp theo cách thủ công.
wkdmarty

Local Xwindows tạo tệp .Xmasterity, nhưng phiên SSH của Putty thì không. Mặc dù nó cho thấy nó lắng nghe kết nối.
wkdmarty

Câu trả lời:


34

Chỉ cần báo cáo, tôi đã có một vấn đề tương tự. Nhưng trong trường hợp của tôi, tôi chỉ làm theo các bước sau :

Thực hiện theo các bước sau để tạo một $HOME/.Xauthoritytập tin.

Đăng nhập với tư cách người dùng và xác nhận rằng bạn đang ở trong thư mục chính của người dùng.

# 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 

Sau đó, không có vấn đề với .Xauthoritytập tin kể từ đó.

Cảm ơn và tín dụng cho srinivasan .


1
trong trường hợp của tôi, tôi đã có một biến môi trường XAUTHORITY chỉ đến một nơi khác (một lỗi bất cẩn), sử dụng [ prefetch.net/blog/index.php/2011/11/01/ chủ đề tôi đã có thể khám phá điều này và giải quyết lỗi. Sử dụng strace xauth, nó chỉ ra đường dẫn không chính xác được chỉ định trong biến. Tôi cũng nên nói thêm rằng tôi đã nhận được lỗi khóa aswel, trong số những người khác
Cybex

1
Trong trường hợp của tôi, tôi chỉ phải thực hiện bước 1 đến 3. Bước 4 và 5 thực sự khiến nó không hoạt động.
Richard Ayotte

Tôi phải làm xauth generate :0 . trustedsau mỗi lệnh userđể mở một màn hình như root. Tôi có thể làm cho nó sửa chữa?
Timo

xhost +đã giúp mở ứng dụng x như root.
Timo

7
Bước 3 cho tôi biết lỗi:xauth: (argv):1: unable to open display ":0".
Trình đơn giản hóa

4

Chỉ cần để bổ sung tuyệt vời tấn 's câu trả lời .

Tôi đã từng có cùng một vấn đề vì thư mục nhà của tôi đã trở nên đầy đủ 100%. Khi kết nối, sshtạo một khoảng trống ~/.Xauthorityvà không thể ghi bất kỳ mục nào vào nó (vì vậy xauth listluôn tạo ra một đầu ra trống).

Vì vậy, tôi đề nghị một người luôn kiểm tra không gian trống (ví dụ df -h:) và xác minh điều đó xauth generatexauth addthực sự có bất kỳ ảnh hưởng nào ( xauth list).


1

Sau khi phát hiện ra rằng đó không phải là hệ thống, bằng cách thêm một người dùng thử nghiệm (x chuyển tiếp hoạt động "ra khỏi hộp"), tôi nghĩ rằng tôi đã bắt đầu sao chép các tệp khởi động .bash * để làm sáng tỏ người dùng "bị hỏng".

Không có tệp nào là khác nhau, vì vậy tiếp theo tôi đã xóa thư mục người dùng .ssh. Khi tôi vào, nó rên rỉ về "Máy chủ từ chối khóa của chúng tôi", nhưng tôi có thể đăng nhập bằng mật khẩu. Sau khi đăng nhập, tôi có thể x chuyển tiếp hoàn hảo.

Bây giờ tôi sẽ thử thiết lập lại khóa và xem liệu tôi có thể làm việc đó không. Sau đó, nó sẽ trở lại bình thường.


1

Di chuyển .sshthư mục ra khỏi cách làm cho chuyển tiếp X làm việc cho tôi.

Thông qua quá trình loại bỏ, tôi tìm thấy một tệp trong ~ / .ssh được gọi là "rc" và chứa:

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

Tôi không bao giờ tạo ra cái này, và không biết nó đến từ đâu. Loại bỏ nó cố định vấn đề này, và tôi authorized_keys, known_hosts, và các tập tin quan trọng đều có thể nghỉ còn nguyên vẹn.


1

Trong các đặc quyền gốc mở /etc/ssh/sshd_configvà bỏ ghi chú các dòng sau nếu chúng được nhận xét:

X11 Hướng tới có

X11Display Offerset 10

X11UseLocalhost có

Sau đó đăng xuất và đăng nhập lại với -Xcờ trong ssh. Bạn không phải đặt hoặc bỏ đặt DISPLAYbiến môi trường.


0

Tôi đã gặp vấn đề tương tự trên hai máy chủ là các nút kỹ thuật chị em. Đau ở đuôi, vì tôi không thể tìm ra điều gì khác biệt. Hóa ra thư mục / home đã đầy, vì vậy các tệp .Xmasterity không thể điền đúng. Khi tôi định vị (các) tệp chiếm quá nhiều dung lượng và xóa chúng, các tệp .Xmasterity mới được tạo đúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.