« VNC par tunnel SSH » : différence entre les versions
mAucun résumé des modifications |
Aucun résumé des modifications |
||
(11 versions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
== Se connecter à un serveur | == Se connecter à un serveur VNC par un tunnel SSH == | ||
par [http://groupe.lea-linux.org/slack/tayral/ Tayral] | |||
J'ai eu pas mal de difficultés à me connecter à un serveur vnc par un tunnel ssh, j'écrit donc ces quelques lignes pour les personnes que ca pourrait aider. | J'ai eu pas mal de difficultés à me connecter à un serveur vnc par un tunnel ssh, j'écrit donc ces quelques lignes pour les personnes que ca pourrait aider. | ||
== Introduction == | == Introduction == | ||
Ligne 15 : | Ligne 14 : | ||
Je vais seulement vous indiquer une configuration basique, si vous voulez plus de details, allez sur l'autre tuto (qui n'est pas de moi). Dans ce tuto le serveur ssh (openssh) tourne sous linux, le client sous windows (avec Tunnelier, client graphique).<br /> | Je vais seulement vous indiquer une configuration basique, si vous voulez plus de details, allez sur l'autre tuto (qui n'est pas de moi). Dans ce tuto le serveur ssh (openssh) tourne sous linux, le client sous windows (avec Tunnelier, client graphique).<br /> | ||
== Mise en place du tunnel ssh == | == Mise en place du tunnel ssh == | ||
Tout d'abord, pour creer un tunnel ssh, il faut un serveur ssh fonctionnel. | Tout d'abord, pour creer un tunnel ssh, il faut un serveur ssh fonctionnel. | ||
Il faut commencer par creer les paires de cle privees/publique :<br /> | Il faut commencer par creer les paires de cle privees/publique :<br /> | ||
1ere remarque : si vous utilisez le cryptage rsa, vous pouvez appeler vos cle comme vous voulez, mais pour la redirection de port coté serveur, la version de openssh vous oblige à utiliser id_rsa pour la clé privée et id_rsa.pub pour la clé publique (remarquez le suffixe pub ...).<br /> | 1ere remarque : si vous utilisez le cryptage rsa, vous pouvez appeler vos cle comme vous voulez, mais pour la redirection de port coté serveur, la version de openssh vous oblige à utiliser id_rsa pour la clé privée et id_rsa.pub pour la clé publique (remarquez le suffixe pub ...).<br /><br /> | ||
Creation de la paire cle priivee / publique sur le serveur<br /> | Creation de la paire cle priivee / publique sur le serveur<br /><br /> | ||
1ere methode : | 1ere methode : | ||
Vous creez la paire de cle privee/publique nommée id_rsa et id_rsa.pub | Vous creez la paire de cle privee/publique nommée id_rsa et id_rsa.pub : | ||
<div class="code">$ssh-keygen -t dsa -f id_dsa</div> | |||
Une 'passphrase' vous est demandé, il s'agit d'un mot de passe qui protège votre cle privée. | Une 'passphrase' vous est demandé, il s'agit d'un mot de passe qui protège votre cle privée. | ||
Ensuite vous devez apprendre au serveur votre cle publique | Ensuite vous devez apprendre au serveur votre cle publique : | ||
<div class="code">$cat id_dsa.pub >> authorized_keys</div> | |||
Il ne vous reste plus qu'à copier la clé privée sur le pc du client. | Il ne vous reste plus qu'à copier la clé privée sur le pc du client. | ||
Sur le serveur, j'ai stocké tous ces fichiers dans /root/.ssh | Sur le serveur, j'ai stocké tous ces fichiers dans /root/.ssh<br /><br /> | ||
2e methode : | 2e methode : | ||
Vous creez la paire de cle privee/publique avec le nom de votre choix : | Vous creez la paire de cle privee/publique avec le nom de votre choix : | ||
<div class="code">$ssh-keygen -t dsa -f id_serveur-dsa</div> | |||
Une 'passphrase' vous est demandé, il s'agit d'un mot de passe qui protège votre cle privée. | Une 'passphrase' vous est demandé, il s'agit d'un mot de passe qui protège votre cle privée. | ||
Vous devez ensuite copiez la paire cle privee / publique dans un format que le serveur ssh comprend pour la redirection de port coté serveur (openssh versin 2) | Vous devez ensuite copiez la paire cle privee / publique dans un format que le serveur ssh comprend pour la redirection de port coté serveur (openssh versin 2) : | ||
<div class="code">$cp id_serveur-dsa id_dsa</div> | |||
<div class="code">$cp id_serveur-dsa.pub id_dsa.pub</div> | |||
Ensuite vous devez apprendre au serveur votre cle publique | Ensuite vous devez apprendre au serveur votre cle publique : | ||
<div class="code">$cat id_dsa.pub >> authorized_keys</div> | |||
Il ne vous reste plus qu'à copier la clé privée sur le pc du client. | Il ne vous reste plus qu'à copier la clé privée sur le pc du client. | ||
Sur le serveur, ces fichiers sont stockés dans /root/.ssh | Sur le serveur, ces fichiers sont stockés dans /root/.ssh<br /><br /> | ||
== Se connecter en ssh au serveur == | == Se connecter en ssh au serveur == | ||
Pour se connecter au serveur avec un pc windows, avec le logiciel Tunnelier : | Pour se connecter au serveur avec un pc windows, avec le logiciel Tunnelier :<br /><br /> | ||
- Dans l'onglet login | - Dans l'onglet login<br /> | ||
Indiquer l'adresse ip de votre serveur dans le champ 'host' <br /><br /> | |||
- Dans l'onglet authentication | - Dans l'onglet authentication<br /> | ||
Indiquer le nom d'utilisateur : root<br /><br /> | |||
Pour indiquer au logiciel la clé privée que l'on utilise, cliquez sur le lien 'use keypair manager', puis ensuite sur 'import' et laissez vous guider ....<br /> | |||
Vous pouvez maintenant selectionner 'publickey slot 1' dans 'Initial Method'.<br /> | |||
Cliquez sur login, apres insertion de la 'passphrase', vous etes connecté en ssh.<br /> | |||
== Creer un tunnel SSH == | |||
Tout d'abord pour lancer le serveur vnc sur le serveur :<br /> | |||
<div class="code">$vncserver :1</div><br /> | |||
SI vous souhaitez arreter le serveur vnc :<br /> | |||
<div class="code">$vncserver -kill :1</div><br /> | |||
Par defaut, la premiere session du serveur vnc s'execute sur le port 5901.<br /> | |||
Pour creer un tunnel ssh, il y a une redirection de port coté client et coté serveur.<br /> | |||
Commencons par configurer le client<br /> | |||
Dans tunnelier, selectionner l'onglet 'c2s fwding', et creer une nouvelle regle :<br /> | |||
- listen port : 5901<br /> | |||
- listen interface : 127.0.0.1<br /> | |||
- destination host : localhost<br /> | |||
- destination port : 17000<br /> | |||
pensez à selectionner la case 'accept server side port forwardings' (pour activer cette regle)<br /> | |||
Ensuite connecter vous au serveur, et utilisez la commande suivante :<br /> | |||
<div class="code">$ssh -L 17000:localhost:5901 root@localhost</div><br /> | |||
Apres cette commande, la 'passphrase' vous est demandé, et le tunnel ssh est crée.<br /> | |||
Vous pouvez maintenant vous connecter au serveur vnc par ce tunnel, avec le logiciel vncviwer (sous windows toujours), en configurant le port sur 5901, et le host sur 'localhost :1' (sans les apostrophes).<br /> | |||
Voilà, donc vous pouvez vous connecter par ce tunnel ssh par le reseau local, ou par le wan, mais dans ce cas il faut ouvrir le port 17000 (pour les appels entrants) dans le firewall.<br /> | |||
Remarque : le port 17000 est competement aléatoire, vous pouvez utiliser ce que vous voulez, mais evitez quand meme les ports 21, 80 ... Pour ne pas entrer en conflit avec d'autres applications.<br /> | |||
<br/> | |||
<br/> | |||
'''<b>[[Sécurité et vie privée|@ Retour à la rubrique Sécurité et vie privée]]</b>''' | |||
<br/> | |||
[[Catégorie:Sécurité et vie privée]] |
Dernière version du 27 décembre 2023 à 21:36
Se connecter à un serveur VNC par un tunnel SSH
par Tayral
J'ai eu pas mal de difficultés à me connecter à un serveur vnc par un tunnel ssh, j'écrit donc ces quelques lignes pour les personnes que ca pourrait aider.
Introduction
Comme vous l'avez appris dans le tuto précédent, un serveur vnc permet de partager l'affichage graphique d'un pc (ou serveur), et d'executer des commandes sur cet ordinateur.
Le problème c'est que le dialogue s'effectue en clair entre le client et le serveur (authentification comprise), ce qui peut poser des problemes de securité ...
Pour résoudre le problème, une solution est d'ouvrir un tunnel ssh dans lequel toutes les communications sont cryptées.
Je vais seulement vous indiquer une configuration basique, si vous voulez plus de details, allez sur l'autre tuto (qui n'est pas de moi). Dans ce tuto le serveur ssh (openssh) tourne sous linux, le client sous windows (avec Tunnelier, client graphique).
Mise en place du tunnel ssh
Tout d'abord, pour creer un tunnel ssh, il faut un serveur ssh fonctionnel.
Il faut commencer par creer les paires de cle privees/publique :
1ere remarque : si vous utilisez le cryptage rsa, vous pouvez appeler vos cle comme vous voulez, mais pour la redirection de port coté serveur, la version de openssh vous oblige à utiliser id_rsa pour la clé privée et id_rsa.pub pour la clé publique (remarquez le suffixe pub ...).
Creation de la paire cle priivee / publique sur le serveur
1ere methode : Vous creez la paire de cle privee/publique nommée id_rsa et id_rsa.pub :
Une 'passphrase' vous est demandé, il s'agit d'un mot de passe qui protège votre cle privée. Ensuite vous devez apprendre au serveur votre cle publique :
Il ne vous reste plus qu'à copier la clé privée sur le pc du client.
Sur le serveur, j'ai stocké tous ces fichiers dans /root/.ssh
2e methode : Vous creez la paire de cle privee/publique avec le nom de votre choix :
Une 'passphrase' vous est demandé, il s'agit d'un mot de passe qui protège votre cle privée. Vous devez ensuite copiez la paire cle privee / publique dans un format que le serveur ssh comprend pour la redirection de port coté serveur (openssh versin 2) :
Ensuite vous devez apprendre au serveur votre cle publique :
Il ne vous reste plus qu'à copier la clé privée sur le pc du client.
Sur le serveur, ces fichiers sont stockés dans /root/.ssh
Se connecter en ssh au serveur
Pour se connecter au serveur avec un pc windows, avec le logiciel Tunnelier :
- Dans l'onglet login
Indiquer l'adresse ip de votre serveur dans le champ 'host'
- Dans l'onglet authentication
Indiquer le nom d'utilisateur : root
Pour indiquer au logiciel la clé privée que l'on utilise, cliquez sur le lien 'use keypair manager', puis ensuite sur 'import' et laissez vous guider ....
Vous pouvez maintenant selectionner 'publickey slot 1' dans 'Initial Method'.
Cliquez sur login, apres insertion de la 'passphrase', vous etes connecté en ssh.
Creer un tunnel SSH
Tout d'abord pour lancer le serveur vnc sur le serveur :
SI vous souhaitez arreter le serveur vnc :
Par defaut, la premiere session du serveur vnc s'execute sur le port 5901.
Pour creer un tunnel ssh, il y a une redirection de port coté client et coté serveur.
Commencons par configurer le client
Dans tunnelier, selectionner l'onglet 'c2s fwding', et creer une nouvelle regle :
- listen port : 5901
- listen interface : 127.0.0.1
- destination host : localhost
- destination port : 17000
pensez à selectionner la case 'accept server side port forwardings' (pour activer cette regle)
Ensuite connecter vous au serveur, et utilisez la commande suivante :
Apres cette commande, la 'passphrase' vous est demandé, et le tunnel ssh est crée.
Vous pouvez maintenant vous connecter au serveur vnc par ce tunnel, avec le logiciel vncviwer (sous windows toujours), en configurant le port sur 5901, et le host sur 'localhost :1' (sans les apostrophes).
Voilà, donc vous pouvez vous connecter par ce tunnel ssh par le reseau local, ou par le wan, mais dans ce cas il faut ouvrir le port 17000 (pour les appels entrants) dans le firewall.
Remarque : le port 17000 est competement aléatoire, vous pouvez utiliser ce que vous voulez, mais evitez quand meme les ports 21, 80 ... Pour ne pas entrer en conflit avec d'autres applications.