LinuxForum.Fans
Тема

VNC-server для Centos 7 - настройка и запуск удаленно через Windows

Автор: Cristo 26 сообщений 7786 просмотров
#387813

Доброго времени суток!

Нужно организовать подключение к серверу на Centos 7 из машин в локальной сети на ОС WINDOWS.
Есть ли какая то аналогичная команда для подключения?
Что нужно установить на вервере?
Какие найстройки ввести для открытия доступа пользователю (например remore_admin)

#387817
"Cristo" написал:
Нужно организовать подключение к серверу на Centos 7 из машин в локальной сети на ОС WINDOWS.

Какое подключение?

Если достаточно только консоли, то на сервер ставите ssh-server (openssh-server), а в Windows для подключения по ssh используете клиент putty.

Если нужно графическое подключение, то ставите на сервер одну из реализаций VNC сервера, tightvnc, tigervnc или настраиваете x11vnc, а для подключения используете VNC клиент, например RealVNC Viewer, лучше используйте Enterprice версию viewer`а, в ней работает переключение раскладок, она бесплатна.

Ещё можете посмотреть в сторону xrdp - это реализация RDP сервера, но её, скорее всего нет в репозитории CentOS, возможно придётся собирать из исходников, но сможете подключаться обычным RDP клиентом из состава Windows.

Ещё можете посмотреть в сторону xming http://www.straightrunning.com/XmingNotes/ и проброса X11 приложений по SSH.

#387832
kostik87 написал:
[quote="Cristo"]Нужно организовать подключение к серверу на Centos 7 из машин в локальной сети на ОС WINDOWS.

Какое подключение?

Если достаточно только консоли, то на сервер ставите ssh-server (openssh-server), а в Windows для подключения по ssh используете клиент putty.

Если нужно графическое подключение, то ставите на сервер одну из реализаций VNC сервера, tightvnc, tigervnc или настраиваете x11vnc, а для подключения используете VNC клиент, например RealVNC Viewer, лучше используйте Enterprice версию viewer`а, в ней работает переключение раскладок, она бесплатна.

Ещё можете посмотреть в сторону xrdp - это реализация RDP сервера, но её, скорее всего нет в репозитории CentOS, возможно придётся собирать из исходников, но сможете подключаться обычным RDP клиентом из состава Windows.

Ещё можете посмотреть в сторону xming http://www.straightrunning.com/XmingNotes/ и проброса X11 приложений по SSH.[/quote]


Пробую разобратся с VNC
вот что пишет при установке на сервер

Показать
text
[root@sarg ~]# yum install vnc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.mirohost.net
 * extras: mirror.mirohost.net
 * rpmforge: [url=ftp://ftp.colocall.net]ftp.colocall.net[/url]
 * updates: mirror.mirohost.net
Package tigervnc-1.2.80-0.30.20130314svn5065.el7.x86_64 already installed and latest version
Nothing to do
[root@sarg ~]# 

вроде все в порядке, но когда пробую запустить службу, то её нет

Показать
text
[root@sarg ~]# service vncserver start
Redirecting to /bin/systemctl start  vncserver.service
Failed to issue method call: Unit vncserver.service failed to load: No such file or directory.
[root@sarg ~]# 

на клиенте с виндой стоит VNC-Viewer-5-2-0-For_Windows-64bit

p.S. и центос и виндовс - обе системы 64-битки


Может нету нормального дистрибутива на центос?

text
[root@sarg ~]# chkconfig vncserver on
error reading information on service vncserver: No such file or directory
#387834
kostik87 написал:
Вы поставили только vncviewer, вам нужно установить пакет vnc-server: http://wiki.centos.org/HowTos/VNC-Server

читаете не внимательно - клиент поставлен на ПК с виндой, откуда в перспективе производить удаленный доступ.
а на сервере поставлен тигр-внц
спойлеры кликабельные - не забываем их использовать_) (спойлеры для удобства чтения на различных платформа х - привычка )

#387835
"Cristo" написал:
а на сервере поставлен тигр-внц

Посмотрите содержимое пакета:

text

repoquery -l tigervnc | grep bin

и вы увидите, что в нём только vncviewer, для установки серверной части нужно установить пакет tigervnc-server

И прежде чем запускать vncserver его нужно ещё настроить, что бы он работал как сервис.

Сходите по приведённой ссылке, там всё расписано.

#387837
kostik87 написал:
[quote="Cristo"]а на сервере поставлен тигр-внц

Посмотрите содержимое пакета:

text

repoquery -l tigervnc | grep bin

и вы увидите, что в нём только vncviewer, для установки серверной части нужно установить пакет tigervnc-server

И прежде чем запускать vncserver его нужно ещё настроить, что бы он работал как сервис.[/quote]


еще раз прошу вас заглянуть под спойлер

Показать
text
[root@sarg ~]# yum install tigervnc-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.mirohost.net
 * extras: mirror.mirohost.net
 * rpmforge: ftp.colocall.net
 * updates: mirror.mirohost.net
Package tigervnc-server-1.2.80-0.30.20130314svn5065.el7.x86_64 already installed and latest version
Nothing to do

добавил парочку пользователей и пароли к ним
в iptables пробросил порт 5900
что делать дальше? как его сделать сервисом?

(судя по дате регистрации и постах на форуме, ДА! вы верное заключение сделали - я нуб в этом деле, только что начал осваивать Центос)

#387839

enable vnc-server in firewall фаервол отключен = iptables пользуюсь
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service что это?
edit /etc/systemd/system/vncserver@:1.service, replacing <USER> команды нет такой - использую нано - файл пустой
as <USER>, run vncpasswd
systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service


если не сложно - можете с комментариями шаг за шагом описать мои действия для создания в CENTOS 7 сервиса VNC?

#387840
"Cristo" написал:
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service что это?

Установка systemd юнита для запуска VNC сервера с определённым пользователем для vnc сессии :1.

"Cristo" написал:
edit /etc/systemd/system/vncserver@:1.service, replacing <USER> команды нет такой - использую нано - файл пустой

Вы его выше должны были скопировать, затем открыть в текстовом редакторе и вместо <user> указать имя пользователя, для которого будет создана vnc сессия.

"Cristo" написал:
as <USER>, run vncpasswd

От имени этого пользователя нужно запустить утилиту vnpasswd и сгенерировать ему пароль для vnc сессии.

"Cristo" написал:
systemctl enable vncserver@:1.service

Разрешить запуск юнита для запуска vnc сервера с сессией :1

"Cristo" написал:
systemctl start vncserver@:1.service

Запустить vnc сервер с сессией :1.

#387841

пользователь remote_admin
в консоли пишу

text
nano /etc/systemd/system/vncserver@:1.service, replacing remote_admin

открывается 2 пустых файла и там вписываю логин remote_admin в каждом файле


дальше ступор:

text
[root@sarg ~]# as remote_admin run vncpasswd
remote_admin: Assembler messages:
remote_admin: Error: can't open run for reading: No such file or directory
run: Error: can't open vncpasswd for reading: No such file or directory

решил в консольке перелогинится и запустить пароли

text

[root@sarg ~]# su remote_admin
[remote_admin@sarg root]$ run vncpasswd
bash: run: command not found

дальше просто

text
[remote_admin@sarg root]$ vncpasswd
Password:
Verify:

не до конца заработало :(

text
[root@sarg ~]# systemctl enable vncserver@:1.service
ln -s '/etc/systemd/system/vncserver@:1.service' '/etc/systemd/system/multi-user.target.wants/vncserver@:1.service'
[root@sarg ~]# systemctl start vncserver@:1.service
Job for vncserver@:1.service failed. See 'systemctl status vncserver@:1.service' and 'journalctl -xn' for details.

в автозагрузке оно прописалось или нужно как то прописывать?

#387844
"Cristo" написал:
открывается 2 пустых файла и там вписываю логин  remote_admin в каждом файле

Копируем файл:

text

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

Открываем в текстовом редакторе

text

nano /etc/systemd/system/vncserver@:1.service
text

su remote_admin
vncpasswd
text

systemctl enable vncserver@:1.service
text

systemctl start vncserver@:1.service
"Cristo" написал:
не до конца заработало

Вы отредактировали unit, раскомментировав в нём строки и указав вместо <user> имя пользователя, от которого вызывали vncpasswd?

Видимо вы вообще не знаете английский и / или не отличаете текст от команд, это плохо.

Не забывайте думать.

#387846

с английским все в порядке - что по поводу команд - то да, не знаю что такое юнит и что такое раскоментировать строки :(

поэтому прошу более детально - как для чайника написать

все что я вводил - есть в спойлерах дока, больше ни шагу не делал

#387849
"Cristo" написал:
с английским все в порядке

Не вижу.

Покажите содержимое /etc/systemd/system/vncserver@:1.service и вывод:

text

systemctl status vncserver@:1.service
#387850
kostik87 написал:
[quote="Cristo"]с английским все в порядке

Не вижу.

Покажите содержимое /etc/systemd/system/vncserver@:1.service и вывод:

text

systemctl status vncserver@:1.service

[/quote]

text
[root@sarg ~]# systemctl status vncserver@:1.service
vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled)
   Active: failed (Result: exit-code) since Mon 2014-07-28 15:25:17 EEST; 35min ago

Jul 28 15:25:17 sarg.cdavo runuser[7568]: runuser: user <USER> does not exist Jul 28 15:25:17 sarg.cdavo systemd[1]: vncserver@:1.service: control process exited, code=exited status=1 Jul 28 15:25:17 sarg.cdavo systemd[1]: Failed to start Remote desktop service (VNC). Jul 28 15:25:17 sarg.cdavo systemd[1]: Unit vncserver@:1.service entered failed state. [root@sarg ~]#

#387851
"kostik87" написал:
Вы его выше должны были скопировать, затем открыть в текстовом редакторе и вместо <user>  указать имя пользователя, для которого будет создана vnc сессия.

Вот это для кого написано!?

Где запрос вот этого:

"kostik87" написал:
Покажите содержимое /etc/systemd/system/vncserver@:1.service и вывод:

Вот содержимое файла, если вы открывали его в текстовом редакторе и как вы говорите у вас всё в порядке с английским, то вы должны всё, что нужно уже сделать!!!

Показать

[console]
# The vncserver service unit file
#
# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
# 2. Edit <USER> and vncserver parameters appropriately
# ("runuser -l <USER> -c /usr/bin/vncserver %i -arg1 -arg2")
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:<display>.service`
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, you should
# limit connections to the local host and then tunnel from
# the machine you want to view VNC on (host A) to the machine
# whose VNC output you want to view (host B)
#
# [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB
#
# this will open a connection on port 590N of your hostA to hostB's port 590M
# (in fact, it ssh-connects to hostB and then connects to localhost (on hostB).
# See the ssh man page for details on port forwarding)
#
# You can then point a VNC client on hostA at vncdisplay N of localhost and with
# the help of ssh, you end up seeing what hostB makes available on port 590M
#
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
#
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the "-via" option in the
# `man vncviewer' manual page.


[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target
[/console]
#387853

вот изменил блок

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l remote_admin -c "/usr/bin/vncserver %i"
PIDFile=/home/remote_admin/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
text
systemctl enable vncserver@:1.service

вроде заработало
а вот

text
[root@sarg ~]# systemctl start vncserver@:1.service
Job for vncserver@:1.service failed. See 'systemctl status vncserver@:1.service' and 'journalctl -xn' for details.

снова безуспешно

#387855
"Cristo" написал:
вот изменил блок

Скажите пожалуйста, почему вы игнорируете и не выполняете часть рекомендаций?

Домашняя директория /home/remote_admin/ пользователя remote_admin существует?

Где вывод команд?

text

See 'systemctl status vncserver@:1.service' and 'journalctl -xn' for details.
#387856

1. существует
2. вывод

text
[root@sarg ~]# systemctl status vncserver@:1.service -l
vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled)
   Active: failed (Result: exit-code) since Mon 2014-07-28 16:11:13 EEST; 7min ago
  Process: 1567 ExecStart=/sbin/runuser -l remote_admin -c /usr/bin/vncserver %i (code=exited, status=98)
  Process: 1563 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

Jul 28 16:11:13 sarg.cdavo systemd[1]: vncserver@:1.service: control process exited, code=exited status=98 Jul 28 16:11:13 sarg.cdavo systemd[1]: Failed to start Remote desktop service (VNC). Jul 28 16:11:13 sarg.cdavo systemd[1]: Unit vncserver@:1.service entered failed state.

text
[root@sarg ~]# journalctl -xn
-- Logs begin at Mon 2014-07-28 10:18:13 EEST, end at Mon 2014-07-28 16:19:13 EEST
Jul 28 16:17:32 sarg.cdavo /etc/gdm/Xsession[2551]: KUrl("file:///home") KUrl("fil
Jul 28 16:17:32 sarg.cdavo /etc/gdm/Xsession[2551]: KUrl("file:///home") KUrl("fil
Jul 28 16:17:32 sarg.cdavo /etc/gdm/Xsession[2551]: KUrl("file:///home/remote_admi
Jul 28 16:17:39 sarg.cdavo /etc/gdm/Xsession[2551]: plasma-desktop(2672)/plasma St
Jul 28 16:17:41 sarg.cdavo /etc/gdm/Xsession[2551]: plasma-desktop(2672)/plasma St
Jul 28 16:17:53 sarg.cdavo /etc/gdm/Xsession[2551]: Enchant dict for "en_US" 0x69d
Jul 28 16:18:09 sarg.cdavo /etc/gdm/Xsession[2551]: plasma-desktop(2672)/plasma St
Jul 28 16:18:12 sarg.cdavo /etc/gdm/Xsession[2551]: plasma-desktop(2672)/plasma St
Jul 28 16:19:01 sarg.cdavo /etc/gdm/Xsession[2551]: plasma-desktop(2672)/plasma St
Jul 28 16:19:13 sarg.cdavo /etc/gdm/Xsession[2551]: plasma-desktop(2672)/plasma St
lines 1-11/11 (END)
Войдите или зарегистрируйтесь, чтобы ответить.