Với tính năng chuyển tiếp SSH X11 (`ssh -X`), hãy nhận` Không thể mở hiển thị` đang cố chạy các ứng dụng X


22

Tôi có thể đăng nhập vào sever bằng

ssh -X Hostip

nhưng khi tôi chạy lệnh xclock thì nó báo lỗi

Error: Can't open display: localhost:11.0

Tôi kiểm tra giá trị Hiển thị của mình bằng cách sử dụng

echo $DISPLAY

và kết quả là

localhost:11.0

Và chuyển tiếp X11 được đặt thành CÓ trong tệp sshd_config

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

Có lời khuyên nào tôi đang thiếu ở đây không?


3
Bạn đã thử -Ythay vì -X?
Flup

2
Ngoài ra, hãy chắc chắn rằng bạn hiểu ý nghĩa của việc sử dụng -Ythay vì -X. Bạn cũng có thể muốn xem xét xhost.
một CVn

1
Đối với RedHat / CentOS 7 (ít nhất), bạn cần gói xorg-x11-xauth, theo câu trả lời của tôi ở đây: unix.stackexchange.com/questions/138936/ trộm
Mike S

Câu trả lời:


18

Sử dụng -Y. Từ trang người đàn ông trên ssh:

-Y Cho phép chuyển tiếp X11 đáng tin cậy. Chuyển tiếp đáng tin cậy X11 không chịu sự kiểm soát của tiện ích mở rộng X11 AN NINH.

Nếu bạn vẫn gặp sự cố, bạn có thể thử cài đặt $DISPLAYIP của hộp cục bộ của mình :

$ export DISPLAY='<ip_address>:11.0'

Nó có thể hoạt động để đặt nó là

$ export DISPLAY='127.0.0.1:11.0'

Con người dường như có vấn đề này thường khi ssh'ing từ Mac OS X . Bạn cũng có thể muốn đặt

X11UseLocalhost no

trong trường hợp này là tốt.


1
Sử dụng XQuartz tôi không thể sử dụng cờ -Y. "Kết nối X11 bị từ chối vì xác thực sai."
Erik

5
ngay cả sau khi thử các đề xuất khác của bạn, tôi không thể mở màn hình.
Erik

2
Không ai trong số này làm việc cho tôi cả. Tôi cần cài đặt hỗ trợ XWindow trong máy chủ Centos 7 của mình (tối thiểu) với: yum groupinstall "X Window System" -y
Mark Edington

@MarkEdington điều này là do RedHat / CentOS yêu cầu gói xorg-x11-xauth, theo câu trả lời của tôi ở đây: unix.stackexchange.com/questions/138936/ trộm
Mike S

6

điều này làm việc cho tôi:

Thay đổi

X11UseLocalhost yes

đến

X11UseLocalhost no

Cảm ơn, Don. điều đó cũng làm việc cho tôi Tôi đã cho bạn một upvote. Tôi tin rằng vấn đề can thiệp vào mặc định là máy cụ thể được kích hoạt xhost.
LD James

6
về khách? chủ nhà? tập tin cấu hình nào? thx để hoàn thành câu trả lời của bạn
Philippe Gachoud 20/07/2016

Tôi đã làm cho nó hoạt động bằng cách thả các cài đặt vào /etc/ssh/sshd_config.
llinfeng

6

Tín dụng vào /unix//a/12772/61349 cho hướng dẫn chẩn đoán của họ.

Đảm bảo khách hàng của bạn đang yêu cầu X11 Chuyển tiếp với cờ -v

ssh example.com -X -v

Và tìm thông điệp quan trọng:

debug1: Requesting X11 forwarding with authentication spoofing.

Một dấu hiệu vấn đề khác là thiếu DISPLAYbiến môi trường được đặt cho bạn. Nếu nó trống / không đặt, có gì đó sai. Ít nhất là theo cùng một bài đăng được ghi ở trên , các biến này được đặt tự động cho bạn.


Tôi đã sử dụng SSH Control Master các kết nối ssh của mình như vậy:

Host <hostname>
    ControlMaster auto
    ControlPath ~/.ssh/control/%r@%h:%p
    ControlPersist 10m

Kết nối ssh trước đó của tôi không yêu cầu X11Firwarding, do đó các sshtùy chọn cuộc gọi trong tương lai không được sử dụng. Vì vậy, đối với tôi,

ssh -Xchỉ bị bỏ qua hoàn toàn

Nếu bạn không thấy "Yêu cầu chuyển tiếp X11", nhưng bạn sẽ thấy các phiên sử dụng lại của muxer;

debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 10

Sau đó, bạn cần thoát ControlMaster hiện tại của mình cho kết nối đó và kết nối lại với cờ -X / -Y.

Để dừng ControlMaster của bạn

ssh -O check <hostname>

Master running (pid=2758)

(Điều này sẽ thoát tất cả các kết nối hoạt động bằng ControlMaster)

ssh -O exit <hostname>

Exit request sent.

3

Khi cố gắng chuyển tiếp tới XQuartz trên macOS, tôi đã khắc phục sự cố bằng cách chạy sshlệnh ( ssh -Ytrong trường hợp của tôi) từ thiết bị đầu cuối XQuartz (được mở bằng cách nhấp chuột phải vào biểu tượng XQuartz trong thanh công cụ và nhấp vào Ứng dụng> Terminal).


cái này hiệu quả với tôi
dli

3

Điều sửa lỗi này đối với tôi chỉ đơn giản là cài đặt xauth, sau khi thực hiện xong, nó hoạt động như một lá bùa!

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.