Technologies  Hébergeur

Administration à distance par tunnel SSH et VNC

Avec un serveur Debian firewall on peut autoriser les connexions par le port 22 TCP afin d'ouvrir un tunel SSH sécurisé.

Il suffit ensuite de se connecter avec vnc pour avoir une interface graphique. On explique comment se connecter d'un PC windows avec Putty vers un PC linux, de Linux vers Linux et windows vers windows.

La première étape consiste à établir la connexion sur le serveur en redirigeant les ports 5900 de vnc vers la machine à administrer.

On supose que le serveur firewall est configuré comme celui de bm2i (config).

Note:
On utilise tres souvent ssh pour accèder aux machines en local sans interface graphique (serveur/firewall). Pour se faire il faut l'ip de la machine à atteindre et la commande depuis un terminal : ssh jim@192.168.0.2 puis le bon mot de pass. Ou depuis konqueror ce qui est tres pratique également : fish://jim@192.168.0.2 et on utilise la commande scp pour la copie de fichier, exemple : on veut copier un fichier du pc distant sur la machine ou l'on se trouve (copie cryptée donc !!):

scp jim@192.168.0.2:/ou/est /mon/ficher . (le . pour dir de copier dans le dossier courant)

 

1 Création du tunnel SSH

Depuis Windows:

On utilise Putty pour créer le tunel ssh et real vnc pour l'interface graphique ou Radmin.

putty

 

Dans la section Host name il faut rentrer l'ip internet (fourni par le FAI) ou un nom qui à été acheté ou associé gratuitement à votre ip dynamique par dyndns.org. Pour la gestion des ip dynamique voir la section ddclient. Pour connaitre votre ip : www.adresseip.com. On note qu'il est possible de donner un nom dans la section Saved sessions puis de le sauver pour retrouver sa configuration.

on passe dans la section tunnel :

putty tunnel

Dans la rubrique Tunnel entrer le port_source le Pcdestination:port_cible de maniere à obtenir les infos comme ci-dessus. La premiere ligne correspond a VNC et la seconde à RAdmin. Si il y a un serveur dhcp qui fixe les ip des postes du reseau c'est plus simple.

Depuis Linux:

On commence par installer les packets : apt-get install vncserver xvncviewer

taper la ligne de commande dans un terminal : ssh -L 5901:IP_pccible:5901 user@ip

ssh -L port_source:pc_cible:portcible puis on lance vncwiever.

2 Session graphique:

Laisser la session SSH ouverte en tache de fond. Donc ne pas fermer putty dans notre cas.

Ensuite il suffit d'ouvrir et de se connecter sur 127.0.0.1:5901 sous VNC ou 127.0.0.1:4899 sous RAdmin.

vnc

vnc

radmin

radmin

NO ENCRYPTION : pas important car SSH encrypte (128 bits) donc c'est illisible par un pirate.

 

3 Astuces avec Remote et VNC

Il faut bien verifier que le serveur VNC-SERVEUR est configuré sur le port 5901 sur la machine cible. (il met souvent 5900 sous win donc modifier sois le tunnel soit le serveur VNC sous win.

La touche F8 de VNC-Viewer ouvre le menu. (Pratique pour sortir du full screen mode ou envoyer un CTRL+SUPPR.)

La touche F12 de REMOTE permet de jongler du full screen à une fenêtre.

La combinaison CTRL+ALT+F12 de remote permet d'envoyer un CTRL+ALT+SUPPR. (pratique pour se logguer)

 

4 Configurer le serveur

Pour pouvoir se connecter au bureau distant il faut que le serveur soit lancé sur le pc que l'on désir atteindre. J'explique pour le moment comment lancer le serveur sous linux. Une version windows viendra mais pour le moment je n'ai pas de machine windows avec laquelle je peux tester. Donc si vous avez siuvi les explications depuis le début vncserver est installé.

On éxécute vncserver depuis un terminal en tappant vncserver. Au premier lancement il demande un mot de pass et il lance le serveur sous la section graphique 1, le bureau 0 étant déja utilisé puisque vous etes dessus. Il faut alors crée le fichier xstartup dans le dossier /home/mon_nom_d'utilsateur/.vnc/ . Si vous relancez vncserver il créer un autre serveur pour le bureau 2. Donc il faut effectuer un kill : vncserver -kill :1 puis relancer vncserver. A moins que vous vouliez pouvoir acceder aux bureau 1 par le port 5901 et au bureau 2 par 5902 depuis un autre pc. Voici mon xstartup pour un bureau KDE :

#!/bin/sh
startkde&
geometry="1024*768";

biensur vous pouvez modifier d'autres caractéristiques dans /etc/vnc.conf mais il faut relancer le serveur pour avoir les nouvelles modifications.

astuces : depuis le terminal pour créer un fichier vierger c'est la comande touch : touch xstartup