Services/Remote/VNC/TigerVNC

De TartareFR
Version datée du 23 août 2013 à 16:38 par Didier (discussion | contributions) (Page créée avec « == Installation == <syntaxhighlight lang="bash">yum install tigervnc-server</syntaxhighlight> == Configuration == La configuration dépend du système de démarrage uti... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Installation

yum install tigervnc-server

Configuration

La configuration dépend du système de démarrage utilisé par la distribution.

Chaque serveur VNC sera associé à un numéro de port VNC ( le port VNC 1 est le port système 5901, le port VNC 2 est le port système 5902, etc... )

On va maintenant ajouter l'utilisateur didier au service sur le port VNC 1 et configurer son démarrage automatique. En effet le service ne peut démarrer sans avoir au préalable ajouter un mot de passe VNC pour chaque utilisateur ( en fait, si, mais il n'est pas utilisable, ce qui revient au même ... ).

Avec le classique SysVinit

Il suffit de rajouter les deux lignes suivantes au fichier <path>/etc/sysconfig/vncservers</path> pour chaque utilisateur

VNCSERVERS="1:didier"
VNCSERVERARGS[1]="-geometry 1280x1024 -depth 16"

On active le démarrage automatique

chkconfig --level 2345 vncserver on

Avec Systemd

Ici, il y aura autant de fichiers de configuration que d'utilisateur. Le fichier copié comporte le numéro de port VNC dans son nom (après l'arobase).

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

On modifie donc le fichier fichier <path>/etc/systemd/system/vncserver@:1.service</path> que nous venons de copier.

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

[Service]
Type=forking
ExecStart=/sbin/runuser -l didier -c "/usr/bin/vncserver %i -geometry 1280x1024"
ExecStop=/sbin/runuser -l didier -c "/usr/bin/vncserver -kill %i"

[Install]
WantedBy=multi-user.target

On active le démarrage automatique, à répéter autant de fois qu'il y a d'utilisateurs configurés

systemctl enable vncserver@:1.service

Mise en place des Mots de passe VNC

Pour chaque utilisateur, il faudra spécifier un mot de passe en se logguant avec son compte

su - didier
vncpasswd

Démarrage du service

En tant qu'utilisateur root

Avec le classique SysVinit

service vncserver start

Avec Systemd

Ici, il faudra lancer la commande autant de fois qu'il y a d'utilisateurs configurés

systemctl start vncserver@:1.service

Sécurité

Firewall

Pour les anciennes versions d'<app>iptables</app>

  • Ajout de la règle à chaud
    iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 5903 -j ACCEPT
    
  • Ajout au fichier <path>/etc/sysconfig/iptables</path> pour que la règle soit présente au prochain démarrage
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 5903 -j ACCEPT
    

Pour les nouvelles versions d'<app>iptables</app>

  • Ajout de la règle à chaud
    iptables -I INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 5903 -j ACCEPT
    
  • Ajout au fichier <path>/etc/sysconfig/iptables</path> pour que la règle soit présente au prochain démarrage
    -A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 5903 -j ACCEPT
    

SELinux

Si SELinux est activé, il faut autoriser explicitement le forward ssh

setsebool -P sshd_forward_ports 1