Как получить доступ к машине через VNC с помощью SSH?

В нашем офисе более 500 систем, работающих с Ubuntu. И иногда после установки мы забываем включить Remote Desktop. Так что мы не смогли удаленно управлять этим ПК. Есть ли способ удаленного доступа к этой машине с помощью SSH? Coz ssh был установлен на этой удаленной машине. Также, если эта машина находилась на экране входа в систему, мы не смогли просмотреть через vnc. Я думаю, SSH будет хорошим решением. Может кто-нибудь мне помочь? Спасибо заранее.

4
задан 13 December 2011 в 20:40

3 ответа

Используйте SSH для доступа к машине. Попросите гнома не спрашивать: «Вы уверены?» после включения доступа к удаленному рабочему столу. Затем включите удаленный доступ.

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 рабочих станций, вам бы хотелось использовать CloneZilla. Один сервер CloneZilla предоставляет предварительно сконфигурированные образы для рабочих станций, которые могут быть установлены по сети. Вы можете даже многоадресной рассылки таким образом, чтобы всего за несколько часов догадаться, что все рабочие станции могут быть отображены с общей конфигурацией, той же версией и т. Д. ... На дедоимедо.com есть хороший учебник.

2
ответ дан 25 May 2018 в 15:59
  • 1
    Что это? [F1] – karthick87 13 December 2011 в 22:04
  • 2
    Когда вы пытаетесь включить удаленный доступ, гном может запросить «" Вы уверены? & Quot; для доступа к удаленному рабочему столу. – user 13 December 2011 в 22:06
  • 3
    gconftool-2 -s -t bool / desktop / gnome / remote_access / prompt_enabled false – user 13 December 2011 в 22:09

Я поклонник x11vnc. Это простой VNC-сервер, и вам не придется возиться с настройками Gnome или с 500 брандмауэрами, просто установите x11vnc на все ваши компьютеры (с марионеткой или любым другим, что вы используете для массового управления).

Затем с вашего локального компьютера запустите:

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 являются популярными целевыми хаками.

5
ответ дан 25 May 2018 в 15:59
  • 1
    Ничего себе, это намного проще, чем вмешиваться в настройки Gnome - и работает везде, Gnome не требуется. Благодаря! – Piskvor 31 May 2013 в 15:52
  • 2
    Я адаптировал ваши инструкции в простой скрипт, который SSH для данного хоста, запускает средство просмотра VNC и закрывает туннель, когда это делается: so.piskvor.org/87443/vncssh.sh – Piskvor 31 May 2013 в 17:01
  • 3
    Хорошая идея @Piskvor! – Oli♦ 31 May 2013 в 19:48
  • 4
    Если вы используете vncviewer с медленным ssh-соединением, ваша команда должна выглядеть как vncviewer localhost::5900 -viewonly -encodings "tight" -quality 0 (на Debian / Ubuntu зритель от tightvnc) или vncviewer localhost::5900 -viewonly -PreferredEncoding tight QualityLevel=0 (в Red Hat / Fedora зритель от tigervnc), где уровень качества на Debian и Redhat находится между 0 и 9, где 9 лучше, но требует быстрого соединения. – erik 24 February 2014 в 15:31

Я не уверен, что вы спрашиваете. Если вам удобно управлять машиной из командной строки, ssh - это все, что вам нужно. Если вы хотите использовать графический интерфейс, вы можете установить и запустить автономный VNC-сервер (tightvncserver или vnc4server) поверх ssh - тот, который не контролирует существующий сеанс GUI, но запускает новый, видимый только через VNC.

0
ответ дан 25 May 2018 в 15:59

Другие вопросы по тегам:

Похожие вопросы: