Services/Remote/VNC/TigerVNC
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