Chrome 远程桌面访问 Headless Ubuntu Server 16.04 机器

use*_*160 12 server remote-desktop google-chrome 16.04

我有一台运行 Ubuntu Server 16.04 的服务器,从使用 SSH 服务器的库存安装开始。目前,我可以通过公钥 SSH 访问完全访问机器。由于机器正在运行非关键资源,但我无法轻松对其进行物理访问,因此我想要一种非 SSH 远程访问方法,它不依赖于功能性上游端口转发或本地安全具有可以访问服务器的私钥的机器。这将使我能够继续管理系统并验证它是否仍在运行。最明显的端到端解决方案是使用 Chrome 远程桌面。但是,这似乎对设置有点挑战。

我拥有ssh对服务器的 root 访问权限。使用最少的临时需要的包,我如何完成:

  1. 为 Ubuntu 安装一个最小的桌面环境,它与 Chrome 远程桌面兼容并提供简单的 shell 访问(我不太关心哪个,但它应该适用于具有古老集成图形的系统)?
  2. 安装 Google Chrome 及其 Chrome 远程桌面应用程序,然后将它们配置为用作远程访问的主机(要控制的机器)?

那么,Chrome 远程桌面会在系统重启后在桌面环境中正确自动启动吗?

由于某些不兼容或需要物理访问,此计划是否不可能?

请注意,我期望的访问要求排除了使用 VNC 或其他更典型的远程访问程序。Chrome 远程桌面“呼叫家”以开始连接,由 Google 调解,这一事实是我最追求的功能。我可能会在评论中考虑替代服务,但请保留 Chrome 远程桌面方法的答案。

Wer*_*ght 15

  1. 安装 Chrome 远程桌面。
  2. 访问https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/chromoting%20https://www.googleapis.com/auth获取授权码/googletalk%20https://www.googleapis.com/auth/userinfo.email&redirect_uri=https://talkgadget.google.com/talkgadget/blank&response_type=code&client_id=440925447803-avn2sj1kc099s0r7v62je5s339mu0am1.apps.googleusercontent.com&access_type=offline&approval_prompt=force(注客户端 ID 来自Chromium)并且一旦允许(在空白页面上),授权将是code=URL的参数。
  3. 在无头机器上运行:

    $ /opt/google/chrome-remote-desktop/start-host --code="MY_AUTH_CODE" \
        --redirect-url=https://talkgadget.google.com/talkgadget/blank \
        --name="MY_REMOTE_NAME"
    
    Run Code Online (Sandbox Code Playgroud)
  4. 选择一个 PIN 并在以后使用它进行连接。


小智 9

转到https://remotedesktop.google.com/headless/并按照说明进行操作。这将引导您完成之前必须从Wernight 的回答手动执行的步骤。


小智 1

即使计算机是无头的,Chrome 远程桌面 (CRD) 也需要 X 服务器。这不是问题。您可以使用 XVRB 和 XPRA...或其他虚拟化解决方案,但没有配置文件选项或命令行标志来配置 CRD。

我认为最直接的解决方案是首先通过通常的方式设置远程 VNC ,然后安装/配置 CRD。

如果 VNC确实不适合您,那么您可以尝试使用无头浏览器工具(例如Nightmarewebdriver)编写 CRD 脚本