Как я могу подключиться к виртуальному серверу Google Compute Engine с помощью графического интерфейса?

Я тестирую Google Compute Engine и создал виртуальную машину с ОС Ubuntu. Когда я подключаюсь к нему, нажав эту кнопку Подключить SSH, он открывает окно консоли.

Это та связь, которую вы получаете?

Как открыть настоящий экран с графическим интерфейсом пользователя? Мне не нужна консоль.


person Assassinbeast    schedule 01.12.2014    source источник


Ответы (4)


Намного лучшее решение от самого Google:

https://medium.com/google-cloud/linux-gui-on-the-google-cloud-platform-800719ab27c5

person sapanda    schedule 07.09.2015

Вам необходимо перенаправить сеанс X11 с виртуальной машины на локальный компьютер. Это уже было описано на сайте стека 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

http://dailypackage.fedorabook.com/index.php?/archives/48-Wednesday-Why-Trusted-and-Untrusted-X11-Forwarding-with-SSH.html

Вы можете включить надежную пересылку, если у приложений есть проблемы с ненадежной пересылкой.

Вы можете включить это постоянно, используя ForwardX11Trusted yes в ~/.ssh/config файле.

Вы можете включить это для одного соединения, используя аргумент -Y вместо аргумента -X.

person Matthew Franglen    schedule 01.12.2014
comment
Эй, спасибо, что помогли мне! Я только что выполнил два шага из раздела «Установка сервера X11» по ссылке, которую вы мне прислали. Я выполнил обе команды, и, похоже, ошибки нет. Но что теперь? - person Assassinbeast; 01.12.2014
comment
После установки сервера X11 на сервере вам необходимо подключить его к локальному компьютеру, перенаправив сеанс X11. Посмотри по первой ссылке. - person Matthew Franglen; 01.12.2014

Эти инструкции предназначены для настройки Ubuntu 16.04 LTS с LXDE (я использую переадресацию портов SSH вместо открытия порта 5901 в брандмауэре экземпляра виртуальной машины)

1. Создайте новый экземпляр виртуальной машины Ubuntu с помощью консоли GCP.

2. подключитесь к своему экземпляру с помощью облачной оболочки Google.

gcloud compute --project "project_name" ssh --zone "project_zone" "instance_name"

3. установить необходимые пакеты

sudo apt update && sudo apt upgrade
sudo apt-get install xorg lxde vnc4server

4. настройте vncserver (вам будет предложено ввести пароль для vncserver)

vncserver
sudo echo "lxpanel & /usr/bin/lxsession -s LXDE &" >>  ~/.vnc/xstartup

6. Перезагрузите свой экземпляр (это вернет вас к приглашению облачной оболочки Google).

sudo reboot

7. Используйте средство загрузки файлов облачной оболочки Google, чтобы загрузить автоматически сгенерированный закрытый ключ, хранящийся по адресу $ HOME / .ssh / google_compute_engine и сохраните его на своем локальном компьютере *****

cloudshell download-files $HOME/.ssh/google_compute_engine

8. С локального компьютера по SSH на экземпляр виртуальной машины (порт переадресации 5901) с использованием вашего закрытого ключа (загруженного на шаге 7).

ssh -L 5901:localhost:5901 -i "google_compute_engine" username@instance_external_ip -v -4

9. Запустите vncserver на вашем экземпляре виртуальной машины.

vncserver -geometry 1280x800  

10. В клиенте удаленного рабочего стола вашего локального компьютера (например, Remmina) установите для сервера значение 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 открытый и закрытый ключи автоматически генерируются и сохраняются в экземпляре облачной оболочки по адресу $HOME/.ssh/

ls $HOME/.ssh/
google_compute_engine  google_compute_engine.pub  google_compute_known_hosts

Открытый ключ должен быть добавлен к home/*user_id*/.ssh/authorized_keys в экземпляре виртуальной машины (это делается автоматически, когда вы впервые отправляете SHH на экземпляр виртуальной машины из облачной оболочки Google, т.е. на шаге 2), вы можете подтвердить это в метаданных экземпляра.

person Arash Joorabchi    schedule 23.05.2018
comment
Меня смущает инструкция 7. Используйте средство загрузки файлов облачной оболочки Google, чтобы загрузить автоматически сгенерированный закрытый ключ, хранящийся в $ HOME / .ssh / google_compute_engine, и сохранить его на своем локальном компьютере. Мой экземпляр не создал файл в $HOME/.ssh/google_compute_engine. У меня есть такой локальный файл, но не удаленный - person Nathan; 24.08.2019

Удаленный рабочий стол Chrome позволяет удаленно получать доступ к приложениям с помощью графического пользовательского интерфейса с локального компьютера или мобильного устройства. Для этого подхода вам не нужно открывать порты брандмауэра, и вы используете свою учетную запись Google для аутентификации и авторизации.

Ознакомьтесь с этим руководством Google, чтобы использовать его с Compute Engine: https://cloud.google.com/solutions/chrome-desktop-remote-on-compute-engine

person Mathieu Rollet    schedule 10.07.2019