26 janv. 2016

Prise en main à distance

Document datant de 2010 (j'étais encore en BTS)


OS concernés: Unix / Linux / Mac OS X / Windows

Prendre la main sur un ordinateur à distance est une tâche plutôt aisée.
En effet on distinguera deux sortes de prise en distance:
1- en ligne de commande
2- via l'interface graphique

I/ Se connecter à distance en ligne de commande
1.1) Telnet
Le service telnet n'est plus trop utilisé sur les distributions Unix/Linux récentes, cependant nous pouvons encore le rencontrer. Le problème étant que les données circulant via Telnet ne sont pas cryptée (à voir dans un autre article.)
Bien évidemment pour se connecter à Telnet il faudra que le service soit démarré sur l'ordinateur distant.
On peut noter que ce service peut être aussi activé dans un environnement Microsoft Windows pour accéder à un prompt DOS.

a) Depuis Unix/Linux/Mac OS X vers Unix/Linux/Mac OS X
Exemples de commandes à taper dans le shell (terminal):
telnet 192.168.3.4 (la cible à joindre est donc l'IP 192.168.3.4)
telnet pc209 (et là pc209)

b) Depuis Windows vers Unix/Linux/Mac OS X
On peut utiliser le prompt DOS (pour l'ouvrir: Démarrer > exectuer > cmd) avec les mêmes commandes cité dans "a)" ou via des logiciels tel que PuTTY ou Cygwin.

1.2/ SSH ( Secure SHell)
SSH est plus répendu que Telnet car il est sécurisé et dispose de commandes simplifiant la communication entre hôtes.

a) Depuis Unix/Linux/Mac OS X vers Unix/Linux/Mac OS X
Exemples de commandes à taper dans le shell (terminal) comme pour telnet:
ssh 192.168.3.4 (la cible à joindre est donc l'IP 192.168.3.4)
ssh pc209 (et là pc209)

b) Depuis Windows vers Unix/Linux/Mac OS X
Le prompt DOS n'offrant gère la commande SSH il faudra utilisé un logiciel tel que PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/) ou Cygwin (http://www.cygwin.com) pour se connecter en SSH sur un ordinateur Unix à distance.

II/ Mode graphique à distance
2.1) Export Display
L'export display permet de lancer des logiciels graphiques se trouvant sur un ordinateur distant

a) Depuis Unix/Linux vers Unix/Linux/Mac OS X
Sur un terminal (xterm, konsole ou autre) taper :
$ xhost +
$ ssh user@192.168.2.2 -X
puis essayer de lancer une application graphique (ex: firefox), si ça ne fonctionne pas, taper pour un shell BASH:$ export DISPLAY=l'ip_de_mon_pc:0.0 (ex: export DISPLAY=192.168.2.5:0.0)
ou pour un shell CSH:
$ setenv DISPLAY ip_de_mon_poste:0.0

b) Depuis Mac OS X vers Unix/Linux/Mac OS X
Il faut lancer le terminal X11 (fond blanc) présent dans Applications > utilitaires.
Avant de faire des manipulations présentent dans "a)"

c) Depuis Windows vers Unix/Linux/Mac OS X
Personnellement j'utilise cygwin (un shell unix sous windows). Il faut lancer le service graphique avec la commande:
$ startx
puis un petit terminal X s'ouvrira (ok c'est moche) et permettera de réaliser les manipulations de "a)".
Il y a plus jolie: avec Putty, couplé à Xming (http://sourceforge.net/projects/xming/).
Tout d'abord, lancer Xming après installation. Puis dans Putty; aller dans l'onglet "Connexion > SSH > X11" et cocher la case: "Enable X11 forwarding" puis retourner dans Session et entrer l'adresse de connexion.

puis

Après s'être connecter, on peut alors lancer une application graphique sans problème (sinon voir "a)").

2.2) Prise en main à distance
Il est possible de prendre la main à distance en temps réelle (piquer la souris de la personne)
Ou en se connectant en sous-marins (ouvrir une session et s'amuser seul)

a) Depuis Unix/Linux/Mac OS X vers Unix/Linux

a.1) En réelle
Via VNC , tout est expliquer là (http://bobpeers.com/linux/vnc.php)

a.2) En sous marinSur le poste cible il faut activer de XDMCP sur gdm ou kdm en fonction de celui qui est par défaut:

pour GDM:dans /etc/gdm/custom.conf :
[xdmcp]
Enable=true
pour KDM:dans /etc/kde/kdm/kdmrc :
[Xdmcp]
Enable=true

Redémarrer le gestionnaire graphique (/etc/init.d/[g/k]dm restart)

Puis sur le client taper:

X :1 -query machine cible
b) Depuis Windows vers Unix/Linux

Depuis Windows vers Linux c'est possible avec des utilitaires tel que Xming, Cygwin (libres) ou encore Exceed (propriétaire)

Avec Xming et Exceed c'est assez simple. Cependant sur cygwin il faut taper la commande:

$ XWin -query machine_cible


Aucun commentaire:

Enregistrer un commentaire