我们办公室有 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 :0
SSH 命令中的该段。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 看到的新会话。