Sư tử núi ssh -X có vấn đề


8

Làm cách nào để chạy trên Mountain Lion X11 chuyển tiếp qua SSH?

Thí dụ:

ssh -X some@example.com xterm

/ etc / sshd_config có

X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost yes

# XAuthLocation added by XQuartz (http://xquartz.macosforge.org)
XAuthLocation /opt/X11/bin/xauth

Đã khởi động lại sshd với

launchctl stop com.openssh.sshd
launchctl start com.openssh.sshd

(và từ Tùy chọn -> Chia sẻ quá)

Bắt đầu XQuatrz và từ xterm tôi chạy

ssh -v -X mrp@192.168.1.17 xterm        #this part not works :)

có cái tiếp theo:

debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.17 ([192.168.1.17]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending command: xterm
debug1: Remote: No xauth program; cannot forward with spoofing.
X11 forwarding request failed on channel 0
xterm: Xt error: Can't open display: 
xterm: DISPLAY is not set
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2656, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 29582.4, received 27622.1
debug1: Exit status 1

từ xterm

$ echo $DISPLAY
/tmp/launch-BHtJfJ/org.macosforge.xquartz:0

thay đổi nó thành :0không giúp

chạy từ xterm

$ xauth list
jonatan.local/unix:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
192.168.1.9:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
jonatan.local:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2

Bất kỳ ý tưởng?


Bạn có thể làm rõ phần nào không làm việc cho bạn?
demure

@demure Tiếng Anh của tôi không đủ tốt, tôi đã hy vọng hơn lỗi meesage là đủ rõ ràng. Nhưng ok, thêm một bình luận cho câu hỏi, để hiển thị chính xác những gì không hoạt động. Hay chính xác hơn, không hoạt động đường hầm giao thức X qua ssh vì một số lý do lạ. Có lẽ xauth. Cảm ơn bạn đã quan tâm. :)
jm666

Câu trả lời:


8

Bạn cần mở XQuartz, truy cập X11Tùy chọnBảo mật , có hai hộp kiểm: vô hiệu hóa cái đầu tiên, bật cái thứ hai. Khởi động lại XQuartz và thử lại. Bạn cũng sẽ cần xác định $DISPLAYbiến như thế này:

export DISPLAY=clienthost:0.0

Trong khi đó, tôi phát hiện ra vấn đề nằm ở phía bên kia - không phải trong OS X của tôi; Dù sao cũng cảm ơn bạn +1.
jm666

@ jm666, Andreu Tôi có cùng một vấn đề và giải pháp này không hiệu quả với tôi, # jm66 bạn có thể chia sẻ kinh nghiệm của mình trong việc giải quyết vấn đề này.
math137

clienthost
Jonathan

1

Không chắc chắn điều này có thể xảy ra như thế nào, nhưng từ nguồn SSH có thông báo lỗi xuất hiện:

/* Try to open a socket for the local X server. */
display = getenv("DISPLAY");
if (!display) {
    error("DISPLAY not set.");
    return -1;
}

Nó chỉ ra rằng thực sự ssh nghĩ rằng biến này hoàn toàn không được đặt (nghĩa là không bị dị hình hoặc có gì đó, nhưng thiếu).

Tôi không chắc chắn liệu SSH có thay đổi bối cảnh người dùng hay không để nó có một môi trường khác. Bạn co thể thử

ssh -vvv ....

(nhiều "v") để có thêm đầu ra gỡ lỗi, có thể điều này đưa ra gợi ý ở đâu đó khi khởi động.


wow - ý tưởng tốt nhiều vvv - sẽ kiểm tra. Thanx :)
jm666

ok, hy vọng nó có ích
Thuật 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.