我正在测试一个谷歌计算引擎,我用 Ubuntu 操作系统创建了一个虚拟机。当我连接到它时,通过单击此Connect SSH按钮,它会打开一个控制台窗口。
那是你得到的联系吗?
如何打开带有 GUI 的真实屏幕?我不想要控制台。
我正在测试一个谷歌计算引擎,我用 Ubuntu 操作系统创建了一个虚拟机。当我连接到它时,通过单击此Connect SSH按钮,它会打开一个控制台窗口。
那是你得到的联系吗?
如何打开带有 GUI 的真实屏幕?我不想要控制台。
您需要将 X11 会话从 VM 转发到本地计算机。这在 Unix 和 Linux 堆栈站点之前已经介绍过:
https://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-from-ubuntu-machine
由于您要连接到预期运行计算任务的服务器,因此很可能没有安装 X11 服务器。您可能需要安装 X11 和类似的。您可以按照此处的说明进行操作:
https://help.ubuntu.com/community/ServerGUI
由于我最近需要这样做,所以我将在这里简要写下所需的更改:
配置服务器
$ sudo vim /etc/ssh/sshd_config
确保X11Forwarding yes
存在。如果更改设置,请重新启动 ssh 守护程序:
$ sudo /etc/init.d/sshd restart
配置客户端
$ vim ~/.ssh/config
确保ForwardX11 yes
主机存在。例如:
Host example.com
ForwardX11 yes
转发 X11
$ ssh -X -C example.com
...
$ gedit example.txt
可信 X11 转发
如果应用程序在不可信转发方面遇到问题,您可能希望启用可信转发。
您可以通过ForwardX11Trusted yes
在~/.ssh/config
文件中使用来永久启用此功能。
-Y
您可以通过使用参数代替参数来为单个连接启用此功能-X
。
gcloud compute --project "project_name" ssh --zone "project_zone" "instance_name"
sudo apt update && sudo apt upgrade
sudo apt-get install xorg lxde vnc4server
vncserver
sudo echo "lxpanel & /usr/bin/lxsession -s LXDE &" >> ~/.vnc/xstartup
sudo reboot
cloudshell download-files $HOME/.ssh/google_compute_engine
ssh -L 5901:localhost:5901 -i "google_compute_engine" username@instance_external_ip -v -4
vncserver -geometry 1280x800
localhost:5901
并将协议设置为VNC
注意 1:要检查 vncserver 是否工作正常,请使用:
netstat -na | grep '[:.]5901'
tail -f /home/user_id/.vnc/instance-1:1.log
注意 2:要重新启动 vncserver,请使用:
sudo vncserver -kill :1 && vncserver
***** 首次通过 Google Cloud Shell 连接时,公钥和私钥会自动生成并存储在 Cloud Shell 实例中$HOME/.ssh/
ls $HOME/.ssh/
google_compute_engine google_compute_engine.pub google_compute_known_hosts
公钥应添加到home/*user_id*/.ssh/authorized_keys
VM 实例中(当您第一次从谷歌云 shell 向 VM 实例 SHH 时自动完成,即在步骤 2 中)您可以在实例元数据中确认这一点
Chrome 远程桌面允许您从本地计算机或移动设备远程访问具有图形用户界面的应用程序。对于这种方法,您无需打开防火墙端口,而是使用您的 Google 帐户进行身份验证和授权。
查看此谷歌教程以将其与 Compute Engine 一起使用:https ://cloud.google.com/solutions/chrome-desktop-remote-on-compute-engine