Cách ssh -Y và sau đó su - <người dùng khác> và vẫn chuyển tiếp các ứng dụng X đến máy cục bộ của bạn


13

Thật dễ dàng để 'tìm nạp' (tức là vẽ cục bộ) một ứng dụng linux chạy từ xa: Nếu tôi ssh -Yđến máy từ xa và chạy một ứng dụng, ứng dụng đó chắc chắn sẽ bật lên trong máy tính để bàn cục bộ của tôi.

Tuy nhiên, nếu tôi đang ở trong máy từ xa, tôi suđến một người dùng khác, tôi không thể chuyển tiếp ứng dụng X đến máy cục bộ của mình. Nó nói wrong authentication.

Tôi không chắc chắn làm thế nào để giải quyết trường hợp này. Điều echo $DISPLAYnày vẫn đúng (được đặt bởi ssh -Yđăng nhập ban đầu ), nhưng cookie phiên có lẽ chỉ được đặt cho người dùng ban đầu đã đăng nhập vào ssh.

Làm cách nào tôi có thể khắc phục khó khăn này và chuyển tiếp các ứng dụng X khác đang chạy từ những người dùng khác nhau?

Lý do tôi không trực tiếp là vì tôi không muốn người dùng đó có thể truy cập thông qua ssh (đó là người dùng "hộp ảo", đây rõ ràng là một mục tiêu dễ dàng cho các bot cố gắng ssh đến máy chủ đó) ...

Câu trả lời:


12

Khi bạn kết nối với máy loại bỏ thông qua ssh với tính năng chuyển tiếp X11, ssh trên máy chủ sẽ tạo một .Xauthoritytệp trong thư mục chính của người dùng. Vì ssh lắng nghe X11 trên ổ cắm TCP, bất kỳ ai cũng có thể kết nối. Bởi vì bất cứ ai cũng có thể kết nối, chúng tôi cần một số cách để ngăn chặn bất kỳ ai sử dụng màn hình của bạn. Điều này được thực hiện với .Xauthoritytập tin đó . Tệp có chứa "cookie" được hiển thị cho máy chủ X11 để xác minh ứng dụng khách sẽ được phép kết nối.

Bỏ qua tất cả các chi tiết, nếu bạn sao chép .Xauthoritytệp đó vào thư mục chính của người dùng mục tiêu của bạn (và cung cấp cho họ quyền sở hữu), bạn sẽ có thể kết nối.


Điều đáng chú ý là ngay cả sau khi thực hiện điều này, biến HIỂN THỊ cần phải được đặt chính xác sau khi chuyển đổi người dùng. Đây có thể là một vấn đề khi sử dụng 'sudo' có thể lọc ra môi trường.
Chris Arguin

8
  1. ssh -Y để máy từ xa như mình.
  2. Khi đó, gõ xauth list. Một danh sách các mặt hàng MAGIC-COOKIE xuất hiện. Phiên đăng nhập của bạn rất có thể là phiên cuối cùng trong danh sách. (Kiểm tra điều này bằng cách xem tên máy chủ và mã số UNIX và so sánh nó với tên máy chủ mà bạn đã bóc từ và localhost hiện tại của bạn: ## biến HIỂN THỊ env.)
  3. Chuyển người dùng.
  4. Nhập xauth add+ toàn bộ dòng MAGIC-COOKIE từ phía trên.
  5. Đồ họa sẽ xuất hiện ngay bây giờ. Kiểm tra nó một cách nhanh chóng xlogo.

2
không có "+" trong xauth thêm. Ví dụ: chỉ cần xauth thêm ubfox / unix: 10 MIT-MAGIC-COOKIE-1 6b49de7c34409d5ac69bables31d12ec94
Tuntable

1
USER="otherusername" && MAGIC_COOKIE=`xauth list | tail -n1` && su -c "xauth add $MAGIC_COOKIE" $USER && su - $USER
7yl4r

3

Tôi thích câu trả lời của Randy, nhưng nó không hoàn toàn phù hợp với tôi.

Đây là những gì tôi đã làm việc:

  1. ssh -Y as user1
  2. xauth list | grep `uname -n`
  3. Chuyển sang người dùng2
  4. unset XAUTHORITY
  5. xauth generate :0 .
  6. xauth add :0 . <KEY-FROM-STEP-2>

Lưu ý hai giai đoạn trong bước 5 và 6.

Nếu tôi chỉ làm theo câu trả lời của Randy, XAUTHORITYbiến của user2 vẫn đang trỏ đến .Xauthoritytệp của user1 . Và cú pháp của phím + không hoạt động.


2

Đây không phải là một câu trả lời, vì vậy nếu bạn tìm thấy một câu trả lời, rõ ràng là tốt hơn.

Nếu không, và đây là nguyên nhân gốc rễ của câu hỏi hóc búa của bạn:

Lý do tôi không trực tiếp là vì tôi không muốn người dùng đó có thể truy cập thông qua ssh (đó là người dùng "hộp ảo", đây rõ ràng là một mục tiêu dễ dàng cho các bot cố gắng ssh đến máy chủ đó) ...

Dường như với tôi không phải là một lý luận tuyệt vời. "Những gì bot nhắm mục tiêu" WRT một sshd được cấu hình tốt phần lớn không liên quan. Họ có xôn xao quanh cảng 22 ở mọi nơi không? Hình như vậy. Điều này có nghĩa là họ thực sự có cơ hội thành công?

Hãy thử tìm hiểu một câu chuyện về một người nào đó có bot ẩn danh ngẫu nhiên thành công đột nhập vào sshd. Tôi chắc chắn điều đó đã xảy ra với ai đó ở đâu đó (và tất nhiên, bạn có thể không bao giờ biết), nhưng tôi không thể tìm thấy bất kỳ báo cáo nào như vậy. Sẽ rất thú vị khi đọc cấu hình được sử dụng là gì.

SSH rất an toàn khi được sử dụng đúng cách. Nếu không, thương mại internet sẽ không khả thi. Vậy tại sao các bot này làm phiền? "Được sử dụng đúng cách", ý tôi là, chủ yếu, với các cặp khóa công khai / riêng bắt buộc. Nếu bạn làm điều đó và tự tin khóa riêng của bạn được an toàn (và bạn nên như vậy), hãy tự tin về sshd.

Tôi nghĩ lý do tất cả các "nỗ lực đột nhập" xảy ra là vì có một lượng lớn người dùng không làm những việc như đặt câu hỏi trên U & L;) và không đọc các trang thủ công và chỉ sử dụng bảo vệ mật khẩu, giống như để lại thẻ ATM của bạn trong một máy ở đâu đó với một dấu hiệu cho biết: "Đoán đi!".

Tuy nhiên, nếu bạn nghĩ về khóa riêng của mình như thẻ ATM - như một thứ được bảo mật về mặt vật lý bởi bạn (mà về cơ bản là như vậy), thì mục tiêu sẽ trở nên thanh tao hơn nhiều. Tất cả những bot có thể làm là chứng minh rằng có, thực sự sẽ phải mất hàng ngàn máy móc hàng nghìn năm làm việc cùng nhau để tạo ra một khóa 2048 bit.

Nếu bạn phát ốm khi đọc các báo cáo về các nỗ lực đột nhập, hãy thay đổi cổng của bạn. Tôi đã thấy mọi người ở đây coi đây là "bảo mật do che khuất", tuy nhiên, một sshd được bảo mật đúng cách trên cổng 22 sẽ không an toàn hơn trên cổng 57, nhưng nó sẽ không bị làm phiền một cách ngẫu nhiên. Tất nhiên, tất cả kẻ thù không người lái của bạn chỉ có thể quét toàn bộ IP - nhưng bạn biết gì không? Họ không. Tôi đoán điều này là bởi vì những gì họ đang tìm kiếm là một người nào đó đang điều hành một hệ thống thậm chí không nhìn vào /etc/ssh/sshd_config, họ ít được giáo dục và điều chỉnh nó.


Tôi đồng ý với tất cả những gì bạn nói. nhưng tôi luôn luôn bất an (không phải đó là những gì họ dạy bạn trong nhiều tình huống sau khi bạn bị bỏng?). Thành thật mà nói, máy tính tôi đang cố gắng đăng nhập, là một tường lửa (không có quyền truy cập từ bên ngoài). Đó là ssh trên một cổng cao, có mật khẩu khó, nhưng tôi vẫn không thể không cảm thấy rằng "hộp ảo" là một tên công khai. một cái mà ai đó ở đâu đó có thể chọn để kết hợp trong mã bot. Khóa SSH là một giải pháp tuyệt vời đặc biệt nếu được sử dụng với bảo vệ mật khẩu. Nhưng tôi phải mang một bản phân phối linux nhẹ trên usb nếu tôi sử dụng chúng.
NASS
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.