« Services/Remote/VNC/TigerVNC » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
[[Fichier:LogoTigerVNC.svg|200px|right]]
== Installation ==
== Installation ==


Ligne 45 : Ligne 46 :
systemctl enable vncserver@:1.service
systemctl enable vncserver@:1.service
</syntaxhighlight>
</syntaxhighlight>
{{Admon/tip|Rechargement de systemd après modification|Une fois le fichier enregistrer, il faut, à chaque modification du fichier <path>/etc/systemd/system/vncserver@:1.service</path>, recharger systemd
<syntaxhighlight lang="bash">
systemctl --system daemon-reload
</syntaxhighlight>}}


== Mise en place des Mots de passe VNC ==
== Mise en place des Mots de passe VNC ==
Ligne 68 : Ligne 73 :


=== Firewall ===
=== Firewall ===
Il faudra répeter l'opération autant de fois qu'il y a de serveurs VNC déclarés, en modifiant, bien sur, le port correspondant au serveur.


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

Dernière version du 5 septembre 2013 à 08:32

LogoTigerVNC.svg

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 spécifier la résolution d'écran à 1280 x 1024, puis on va configurer son démarrage automatique. Le démarrage du service, c'est pour plus tard. 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
Idea.png
Rechargement de systemd après modification
Une fois le fichier enregistrer, il faut, à chaque modification du fichier <path>/etc/systemd/system/vncserver@:1.service</path>, recharger systemd
systemctl --system daemon-reload

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

Il faudra répeter l'opération autant de fois qu'il y a de serveurs VNC déclarés, en modifiant, bien sur, le port correspondant au serveur.

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 5901 -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 5901 -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 5901 -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 5901 -j ACCEPT
    

SELinux

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

setsebool -P sshd_forward_ports 1