Màn hình X11 chuyển tiếp SSH từ Linux sang Mac bị mất sau một thời gian


10

Tôi gặp sự cố mới và gây phiền toái khi ssh chuyển tiếp kết nối X11 của mình khi đăng nhập từ máy Mac (10.7.2) sang Linux (Ubuntu 8.04). Tôi không gặp khó khăn khi sử dụng ssh -X để đăng nhập vào máy từ xa và khởi động ứng dụng dựa trên X11 từ trình bao đó.

Điều gần đây đã bắt đầu xảy ra là các yêu cầu bổ sung của các ứng dụng X11 từ cùng một lớp vỏ đó, sau một thời gian (theo thứ tự giờ), không thể bắt đầu vì màn hình chuyển tiếp đang bị chặn (tôi đoán). Ví dụ, khi cố gắng khởi động xterm, tôi nhận được thông báo thông thường về cài đặt HIỂN THỊ xấu, chẳng hạn như:

xterm Xt lỗi: Không thể mở hiển thị: localhost: 10.0

Nhưng ứng dụng X11 tôi đã khởi động ngay khi tôi đăng nhập vẫn chạy tốt, sử dụng cùng một màn hình (localhost: 10.0), chỉ là nó đã được khởi động trước đó.

Tôi đã bật đăng nhập verbose trong sshd_config và tôi thấy điều này trong tệp /var/log/auth.log để đáp ứng với nỗ lực khởi động xterm không thành công:

sshd [22104]: kênh 8: mở thất bại: bị cấm hành chính: mở thất bại

Nếu tôi ssh -X trở lại máy chủ, bắt đầu trình bao mới và được chỉ định một màn hình mới (localhost: 11.0), quy trình tương tự lặp lại: các ứng dụng X11 bắt đầu chạy tốt miễn là tôi vẫn mở chúng (ngày ), nhưng sau một vài giờ tôi không thể bắt đầu bất kỳ cái mới nào từ cái vỏ đó.

Thông tin chi tiết: Máy chủ sshd OpenSSH chạy trên Ubuntu 8.04, màn hình được chuyển tiếp tới máy Mac đang chạy Lion (10.7.2) với máy chủ Apple X mặc định. Các hệ thống được kết nối trên Ethernet LAN với một chuyển đổi duy nhất giữa chúng. Cả máy đều không chạy tường lửa. Cho đến gần đây (một vài ngày trước) thiết lập này hoạt động hoàn hảo vì vậy tôi đang bối rối không biết nên tìm ở đâu tiếp theo. Tôi không có nghĩa là một chuyên gia X11 hoặc SSH nhưng có kinh nghiệm UNIX / Linux tốt. Không có gì rõ ràng đã thay đổi trong cấu hình máy khách hoặc máy chủ mặc dù tôi đã thử thay đổi một vài tùy chọn để thử gỡ lỗi này, như đặt TCPKeepAlive của sshd_config thành không, và đặt "host + localhost" (bạn có thể nói rằng tôi đã Googling).

Khi đăng nhập từ máy tính xách tay Linux 11.10 vào cùng một máy chủ từ xa qua cùng một mạng và chuyển đổi, vấn đề này không xảy ra - một xterm có thể được gọi thành công hàng giờ sau đó từ cùng một vỏ đăng nhập ssh trong khi thử nghiệm tương tự từ Mac không thành công ( đã kiểm tra sáng nay để chắc chắn), vì vậy nó có vẻ là một vấn đề cụ thể của Mac.

Với "LogLevel DEBUG3" được đặt trên máy từ xa (máy chủ sshd) và không có thay đổi nào được thực hiện trong các kết nối máy khách của tôi, /var/log/auth.log cho thấy một thay đổi nhỏ trong báo cáo trạng thái kết nối qua đêm, đó là số cổng được sử dụng bởi một phiên ssh thành công từ máy Linux (tôi nghĩ), kết nối # 7 bên dưới:

sshd [20173]: debug3: channel 7: status: Các kết nối sau đang mở: \ r \ n # 0 phiên máy chủ (t4 r0 i0 / 0 o0 / 0 fd 14/13 cfd -1) \ r \ n # 3 Kết nối X11 từ cổng 127.0.0.1 57564 (t4 r1 i0 / 0 o0 / 0 fd 16/16 cfd -1) \ r \ n # 4 Kết nối X11 từ cổng 127.0.0.1 57565 (t4 r2 i0 / 0 o0 / 0 fd 17 / 17 cfd -1) \ r \ n # 5 Kết nối X11 từ cổng 127.0.0.1 57566 (t4 r3 i0 / 0 o0 / 0 fd 18/18 cfd -1) \ r \ n # 6 X11 kết nối từ cổng 127.0.0.1 57567 (t4 r4 i0 / 0 o0 / 0 fd 19/19 cfd -1) \ r \ n # 7 X11 kết nối từ cổng 127.0.0.1 59007

Trong báo cáo này, mọi thứ đều giống nhau giữa các báo cáo trạng thái ngoại trừ số cổng được sử dụng bởi kết nối # 7 mà tôi tin là máy khách Linux - người duy nhất vẫn duy trì kết nối hiển thị. Nó tiếp tục tăng theo thời gian, đánh giá bằng một chuỗi các báo cáo này qua đêm.

Cảm ơn vì bất kì sự giúp đỡ,

-Như


Tôi đang gặp vấn đề tương tự.
churnd

Tôi đã bật -vvv trên lệnh ssh để lấy thông tin gỡ lỗi từ phiên ssh phía máy khách của Mac. Tôi đã nhận được điều này: Đã codetừ chối kết nối X11 sau khi ForwardX11Timeout hết hạn ForwardX11Timeout là một tùy chọn trong ứng dụng khách ssh của Mac giới hạn chuyển tiếp từ kết nối không tin cậy. Có khả năng sử dụng -Y thay vì -X sẽ hoạt động. ForwardX11Timeout không được ghi lại trong trang ssh của Lion. Mặc định của nó xuất hiện là 20 phút. Có thể cài đặt cao hơn trong ssh_config nhưng máy chủ X của Lion gặp sự cố nếu được đặt thành> 596 giờ ..., tính bằng mili giây, tràn 31 bit. Arrgh. Hy vọng điều này sửa nó.
mklein9

Câu trả lời:


13

Các phiên ssh bắt đầu sau khi tôi thay đổi / etc / ssh_config của máy khách Mac để bao gồm dòng:

Chuyển tiếpX11Timeout 596h

tất cả đều hoạt động tốt và đã được cả ngày. Đến bây giờ tất cả họ đã từ chối bắt đầu các xterms mới. Vì vậy, tôi tin rằng đây là câu trả lời, và may mắn là một giải pháp đơn giản, nhưng thời gian chờ vẫn sẽ xảy ra 3-1 / 2 tuần kể từ bây giờ.


3

man ssh_config

ForwardX11Trust

Nếu tùy chọn này được đặt thành "có", máy khách X11 từ xa sẽ có quyền truy cập đầy đủ vào màn hình X11 gốc. Nếu tùy chọn này được đặt thành "không", các máy khách X11 từ xa sẽ bị coi là không đáng tin cậy và không bị đánh cắp hoặc giả mạo dữ liệu thuộc về các máy khách X11 đáng tin cậy. Hơn nữa, mã thông báo xauth (1) được sử dụng cho phiên sẽ được đặt hết hạn sau 20 phút. Khách hàng từ xa sẽ bị từ chối truy cập sau thời gian này. Mặc định là "không" Xem thông số kỹ thuật mở rộng X11 AN NINH để biết chi tiết đầy đủ về các hạn chế áp dụng đối với các máy khách không đáng tin cậy.


1
Nó có thể hữu ích nếu bạn mở rộng lý do tại sao bạn nghĩ tùy chọn cấu hình này sẽ giải quyết vấn đề ban đầu.
pjmorse

Điều này không giải thích tại sao vấn đề xảy ra, nhưng một số lý do sẽ hữu ích.
Stefan Lasiewski

1

Để thêm vào "đã trả lời ngày 7 tháng 1 năm 12 lúc 3:11 mklein9 28129" "Các phiên ssh bắt đầu sau khi tôi thay đổi máy khách / etc / ssh_config của máy khách Mac để bao gồm dòng:

ForwardX11Timeout 596h

... nhưng thời gian chờ vẫn sẽ diễn ra 3-1 / 2 tuần kể từ bây giờ. "

Rõ ràng bạn có thể sử dụng 0 và điều này đặt thời gian chờ thành vô cùng (miễn là kết nối được bật).

ForwardX11Timeout 0

...

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.