我有一台运行 Ubuntu Server 16.04 的服务器,从使用 SSH 服务器的常规安装开始。目前,我可以通过公钥 SSH 访问完全访问该机器。由于该机器正在运行非关键资源,但我无法轻松地对其进行物理访问,因此我希望使用一种非 SSH 远程访问方法,该方法不依赖于功能性上游端口转发或具有可以访问服务器的私钥的本地机器的安全性。这将使我能够继续管理系统并验证它是否仍在运行。最明显的端到端解决方案是使用 Chrome 远程桌面。但是,这似乎有点难以设置。
我拥有ssh
服务器的 root 访问权限。使用最少的临时需要的软件包,我该如何实现:
- 为 Ubuntu 安装一个与 Chrome 远程桌面兼容并提供便捷的 shell 访问的最小桌面环境(我不太关心哪一个,但它应该适合具有古老集成显卡的系统)?
- 安装 Google Chrome 及其 Chrome 远程桌面应用,然后将其配置为远程访问的主机(要控制的机器)?
那么,系统重启后,Chrome 远程桌面是否会在桌面环境中自动正确启动?
该计划是否由于不兼容或需要物理访问而无法实现?
请注意,我所需的访问要求不允许使用 VNC 或其他更典型的远程访问程序。Chrome 远程桌面通过 Google 进行“呼叫”以启动连接,这是我最想要的功能。我可能会在评论中考虑其他服务,但请保留对 Chrome 远程桌面方法的回答。
答案1
- 安装 Chrome 远程桌面。
- 前往获取授权码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 来自铬),一旦允许(在空白页上),授权就会是
code=
URL的参数。 在无头机器上运行:
$ /opt/google/chrome-remote-desktop/start-host --code="MY_AUTH_CODE" \ --redirect-url=https://talkgadget.google.com/talkgadget/blank \ --name="MY_REMOTE_NAME"
- 选择一个 PIN 码并稍后使用它进行连接。
答案2
去https://remotedesktop.google.com/headless/并按照说明操作。这将引导您完成以前必须手动执行的步骤Wernight 的回答。
答案3
答案4
谷歌有一个好的指导适用于基于 Debian 的 Linux 的 GCE 或提示其他 Linux 发行版的步骤是什么。
1- wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb
2-sudo dpkg --install chrome-remote-desktop_current_amd64.deb
3- 对于 Xfce 桌面:
sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
4-sudo usermod -a -G chrome-remote-desktop $USER logout
5- 按照以下说明操作https://remotedesktop.google.com/headless