Truy cập máy chủ Linux từ máy Windows ở chế độ đồ họa thông qua SSH


7

Tôi cần truy cập vào một trong các máy chủ Linux của trường từ máy tính ở nhà chạy Windows. Và tôi cần truy cập máy tính để bàn đồ họa (máy chủ X) trên chúng từ xa, không chỉ shell.

Vấn đề bao gồm 3 máy chủ Linux với các cài đặt khác nhau. Tôi không có đặc quyền quản trị viên trên bất kỳ ai trong số họ và không thể thay đổi các cài đặt đó. 3 máy chủ được gọi là Aisa, Lethe và Aura (ai đó yêu thích thần thoại Hy Lạp ở đây). Tất cả đều là một phần của mạng lưới địa phương của trường.

Tôi cần truy cập vào giao diện đồ họa trên Lethe hoặc Aura, bất kỳ cái nào trong số chúng cũng sẽ ổn.

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

  • cổng cho các dịch vụ như VPN không có sẵn trên bất kỳ 3
  • SSH được phép trên Lethe và Aisa, không phải trên Aura. Tôi vẫn có thể truy cập Aura khi tôi SSH tới Aisa hoặc Lethe bằng cách sử dụng Putty ssh aura.
  • Tôi đã thử chương trình Xming cho phép kết nối đồ họa từ windows sang Linux thông qua SSH. Tôi chỉ có thể kết nối với Aisa theo cách này (tại sao không để Lethe?! Putty hoạt động ở đó).

Vậy tôi có thể thử kết nối đồ họa với Lethe hoặc Aura từ máy tính Windows của mình bằng cách nào? Bất kỳ đề xuất đều được chào đón rất nhiều.

chỉnh sửa Đây là đoạn mã hiển thị cách tôi bị ngắt kết nối từ Aura trở lại Aisa sau khi chạy vncserver:

aisa:/home/user>$ ssh aura
Last login: Sat Oct 13 00:00:00 2012 from aisa.domain.com
aura:/home/user>$ module add vnc
aura:/home/user>$ vncserver

New 'aura.domain.com:1 (user)' desktop is aura.domain.com:1

Starting applications specified in /home/user/.vnc/xstartup
Log file is /home/user/.vnc/aura.domain.com:1.log

aura:/home/user>$ Connection to aura closed by remote host.
Connection to aura closed.
aisa:/home/user>$ 

chỉnh sửa 2 Nội dung của tệp /home/user/.vnc/aura.domain.com:1.logsau khi thực hiện lệnh vncserver:

aura:/home/user>$ cat /home/user/.vnc/aura.domain.com:1.log
/packages/run/vnc-4.1.2/Xvnc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
/home/user/.vnc/xstartup: line 4: xsetroot: command not found
/home/user/.xsession: line 15: xset: command not found
vncconfig: unable to open display "aura.domain.com:1"
/home/user/.xsession: line 42: xmodmap: command not found
Module xv
Module modules
Module viewers
Module WindowMaker-0.80.2
Module mozilla
ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'mozilla'
stty: standard input: For this device invalid ioctl
wmaker: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory

Lưu ý: Tôi đã dịch một số chuỗi được hiển thị bằng tiếng Séc (Aura đang chạy phiên bản Séc của Red Hat)

Câu trả lời:


3

Bạn có thể thử sử dụng máy chủ VNC X. Nó sử dụng cổng không có đặc quyền để liên lạc và nó có thể được chạy mà không có bất kỳ đặc quyền gốc nào. Để tránh việc xây dựng VNC tìm hiểu những gì cảng nó trở thành con người distro sử dụng chứa (có một số tùy chọn TigerVNC, OpenVNC, RealVNC, vv).

Ví dụ, Fedora 17 có gói tối thiểu tigervnc-server có tất cả mọi thứ bạn cần để khởi động máy chủ VNC:

/usr/bin/Xvnc 
/usr/bin/vncconfig 
/usr/bin/vncpasswd 
/usr/share/man/man1/Xvnc.1.gz 
/usr/share/man/man1/vncconfig.1.gz 
/usr/share/man/man1/vncpasswd.1.gz

Tải xuống, giải nén các tệp nhị phân và đặt chúng vào thư mục ~ / bin của bạn để thuận tiện.

Trước tiên, bạn cần chạy vncpasswdmột lần tại mỗi hệ thống để đặt mật khẩu để truy cập phiên bản máy chủ vnc của bạn.

Sau đó tự khởi động máy chủ bằng lệnh Xvncvà lưu ý màn hình hiển thị bắt đầu (nó sẽ in ra thông tin trên đầu ra tiêu chuẩn).

Sau đó, bạn sẽ thiết lập chuyển tiếp cổng TCP puttytới cổng có số 5900+<display number>, ví dụ: đối với màn hình, :1bạn nên tạo đường hầm tới cổng 5901:

putty -ssh -L5901:127.0.0.1:5901 user@host

Sau đó khởi động VncViewer và kết nối với màn hình localhost:1tại hộp Windows của bạn.

Khi bạn kết thúc, đừng quên dừng máy chủ Xvnc, vì vậy sẽ không lãng phí tài nguyên tại máy chủ:

killall Xvnc

Trường hợp hào quang phức tạp hơn một chút vì bạn không thể đăng nhập trực tiếp. Nếu một trong các máy chủ của bạn cho phép đặt các đường hầm thành bất kỳ máy nào trong mạng LAN, thì chỉ cần tạo đường hầm thích hợp, nói:

putty -ssh -L5901:<ip-of-aura>:5901 user@host

Mặt khác, bạn bắt đầu phiên ssh với hào quang với cổng chuyển tiếp từ vỏ từ xa tại aisa hoặc lethe:

ssh -L5901:127.0.0.1:5901 aura

0

VNC không phải là cách dễ nhất để chạy chương trình GUI. Nó có các lợi ích bổ sung so với phương pháp X từ xa thẳng, chẳng hạn như không tắt chương trình nếu kết nối bị hỏng, nhưng nó đòi hỏi nhiều chương trình hơn chạy ở phía xa. Tôi khuyên dùng Xming + PuTTY hoặc Xming + Cygwin SSH một cách dễ dàng.

Chạy máy chủ Xming, sau đó chạy PuTTY, bảo nó chuyển tiếp X. Vì bạn có thể chạy các chương trình X trên Aisa, bạn đã có phần đó hoạt động. Đảm bảo rằng bạn cũng đã bật chuyển tiếp X sang Lether và Aura.

Lý do điều này không hoạt động trên Lethe có thể là do chuyển tiếp X bị vô hiệu hóa hoặc có thể là do nó thiếu một số thư viện. Kiểm tra giá trị của DISPLAYbiến môi trường trong phiên SSH ( echo $DISPLAY). Bạn sẽ thấy một số như thế nào localhost:10.0. Nếu giá trị trống, thì chuyển tiếp X không thành công. Điều này có thể là do nó đã bị vô hiệu hóa bởi quản trị viên hệ thống. Kiểm tra cấu hình máy chủ SSH, thường trong /etc/sshd_confighoặc /etc/ssh/sshd_config. Nó nên chứa dòng X11Forwarding yes. Nếu không, hãy yêu cầu quản trị viên hệ thống của bạn thêm nó (không có rủi ro bảo mật cho máy chủ khi thực hiện, vì máy khách chịu mọi rủi ro và dù sao nó cũng có thể được thiết lập thủ công - tắt tùy chọn mặc định có ý nghĩa gì, nhưng đó là cách nó nằm trong cấu hình OpenSSH mặc định).

Nếu chuyển tiếp X11 bị vô hiệu hóa trên máy chủ, bạn vẫn có thể làm cho nó hoạt động, nhưng phải mất một số nỗ lực. Bạn sẽ cần thiết lập chuyển tiếp cổng của cổng 6010 ở phía xa sang cổng 6000 trên localhost: cổng 6000+ N tương ứng với DISPLAYgiá trị . Đặt biến môi trường phù hợp, ví dụ: cổng 6010. Nếu cổng 6010 được thực hiện trên Lethe, hãy chọn một biến khác. Sau đó, bạn sẽ cần sao chép cookie X vào hệ thống từ xa. Tôi không biết cách giải nén cookie bằng Xming. Về phía máy chủ, hãy chạy (số thập lục phân 32 chữ số là giá trị cookie).:N.0DISPLAYexport DISPLAY=localhost:10xauth add localhost:10 0123456789abcdef0123456789abcdef

Đối với Aura, sử dụng SSH đường hầm. Yêu cầu PuTTY kết nối với Aisa (đã bật chức năng chuyển tiếp đại lý và X11), sau đó chạy lệnh ssh -Xở đó.

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.