通过 SSH 以图形模式从 Windows 机器访问 Linux 服务器

Ras*_*sto 7 ssh windows x11 remote-desktop xming

我需要从运行 Windows 的家用计算机访问我的学校 Linux 服务器之一。而且我需要远程访问它们上的图形桌面(X 服务器),而不仅仅是 shell。

该问题包括 3 个具有不同设置的 Linux 服务器。我对其中任何一个都没有管理员权限,无法更改这些设置。这 3 个服务器被称为 Aisa、Lethe 和 Aura(这里有人喜欢希腊神话)。所有这些都是学校本地网络的一部分。

我需要在 Lethe 或 Aura 上访问图形界面,它们中的任何一个都可以。

这是我发现的:

  • VPN 等服务的端口在 3 个中的任何一个上都不可用
  • SSH 在 Lethe 和 Aisa 上是允许的,而不是在 Aura 上。当我使用 Putty 然后通过 SSH 连接到 Aisa 或 Lethe 时,我仍然可以访问 Aura ssh aura
  • 我尝试过Xming 程序,该程序允许通过 SSH 从 Windows 到 Linux 进行图形连接。我只能通过这种方式连接到 Aisa(为什么不连接到 Lethe?!Putty 在那里工作)。

那么我可以尝试从我的 Windows 计算机获得到 Lethe 或 Aura 的图形连接吗?非常欢迎任何建议。

编辑 这是显示我如何在运行后从 Aura 断开连接到 Aisa 的代码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>$ 
Run Code Online (Sandbox Code Playgroud)

/home/user/.vnc/aura.domain.com:1.log执行命令后编辑2 文件内容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
Run Code Online (Sandbox Code Playgroud)

注意:我已经翻译了一些以捷克语显示的字符串(Aura 正在运行捷克语版的 Red Hat)

Ser*_*rge 3

您可以尝试使用VNC X服务器。它使用非特权端口进行通信,并且可以在没有任何 root 特权的情况下运行。为了避免构建 VNC,请找出正在使用的发行版包含的端口(有许多选项TigerVNCOpenVNCRealVNC等)。

例如,Fedora 17 有 Tigervnc-server-minimal 软件包,其中包含启动 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
Run Code Online (Sandbox Code Playgroud)

下载它,解压二进制文件并将它们放入 ~/bin 文件夹中以方便使用。

首先,您需要vncpasswd在每个系统上运行一次来​​设置访问 vnc 服务器实例的密码。

然后通过命令启动服务器本身Xvnc并记下它启动的显示内容(它将在标准输出上打印出信息)。

然后,您将设置一个 TCP 端口转发putty到编号为 的端口5900+<display number>,例如,为了显示,:1您应该创建一个到端口 5901 的隧道:

putty -ssh -L5901:127.0.0.1:5901 user@host
Run Code Online (Sandbox Code Playgroud)

然后启动VncViewerlocalhost:1并连接到Windows 盒子上的显示屏。

完成后不要忘记停止 Xvnc 服务器,这样就不会浪费服务器上的资源:

killall Xvnc
Run Code Online (Sandbox Code Playgroud)

aura 的情况有点复杂,因为你无法直接登录。如果您的一台服务器允许将隧道设置为 LAN 中的任何计算机,则只需创建正确的隧道,例如:

putty -ssh -L5901:<ip-of-aura>:5901 user@host
Run Code Online (Sandbox Code Playgroud)

否则,您可以使用 aura 启动 ssh 会话,并从位于 aisa 或 Lethe 的远程 shell 进行端口转发:

ssh -L5901:127.0.0.1:5901 aura
Run Code Online (Sandbox Code Playgroud)