如何使用 SSH 通过 VNC 访问机器?

如何使用 SSH 通过 VNC 访问机器?

我们办公室有 500 多个运行 ubuntu 的系统。有时安装后我们会忘记启用远程桌面。所以我们无法远程控制那台电脑。有没有办法使用 SSH 远程访问那台机器?因为远程机器上安装了 ssh。此外,如果那台机器处于登录屏幕,我们无法通过 vnc 查看。我想 SSH 会是一个很好的解决方案。有人能帮我吗?提前谢谢。

答案1

我是 的粉丝x11vnc。它是一个简单的 VNC 服务器,您不必摆弄 Gnome 设置或 500 个防火墙,只需安装x11vnc在所有计算机上(使用 puppet 或任何您用于大规模控制的工具)。

然后从本地计算机运行:

ssh user@host -L 5900:localhost:5900 "x11vnc -display :0 -noxdamage"

显然交换user@host远程计算机的用户名和主机名/IP。

然后使用您选择的 VNC 客户端连接到localhost:5900。SSH 命令在远程计算机上启动一个 vnc 服务器,然后通过 SSH 隧道返回该端口。您不必打开任何端口(只要您已经可以使用 SSH)。

如果您的计算机的显示设置很奇怪,您最好省略-display :0SSH 命令中的该段。x11vnc然后会自动尝试找到正确的显示。

这种方法更好的而不是在每台机器上运行 VNC 服务器,因为你不会一直拖慢每台机器的速度。安全风险也大大降低,因为 SSH 用户是唯一可以看到 VNC 服务器的人;始终可见、始终在线的 VNC 服务器是黑客的热门目标。

答案2

使用 SSH 访问机器。启用远程桌面访问后,要求 gnome 不要询问“您确定吗?”。然后启用远程访问。

gconftool-2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false
gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true

您也可以为此创建脚本,也许是 /usr/local/bin/start-remote-desktop.sh。

如果您愿意,可以使用您最喜欢的编辑器而不是 vim......

sudo vim /usr/local/bin/start-remote-desktop.sh

该文件的内容:

#!/bin/bash
gconftool-2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false
gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true

使其可执行:

sudo chmod 0755 /usr/local/bin/start-remote-desktop.sh

将其添加到您的默认用户配置:

sudo sh -c 'echo "/usr/local/bin/start-remote-desktop.sh" >> /etc/skel/.profile' 

就维护 500 个工作站的人为因素而言,您会喜欢使用克隆Zilla。一个 CloneZilla 服务器为工作站提供预配置的映像,这些映像可通过网络安装。您甚至可以多播它们,这样只需几个小时,就可以猜到,所有工作站都可以使用通用配置、相同版本等进行映像... 有一个很好的教程德多伊梅多

答案3

我不确定你在问什么。如果你习惯从命令行管理机器,那么 ssh 就是你所需要的。但是,如果你想要一个 GUI...你可以通过 ssh 安装并启动一个独立的 VNC 服务器(tightvncserver 或 vnc4server)——它不控制现有的 GUI 会话,但会启动一个只能通过 VNC 看到的新会话。

相关内容