Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Télé-assistance par internet ou par réseau

Voir

1. Pré-requis

1.1. Pré-requis chez le dépanné

S'il est sous Windows, il faut désactiver les effets visuels. Voir http://coursz.com/desactiver-les-effets-visuels-windows-7.html

En bref, Pour désactiver les effets visuels dans Windows Vista, 7, 8 ou 8.1 :

  • faire un clic droit sur Poste de travail ou Ordinateur sur le bureau ou dans le menu Démarrer.
  • sélectionner Propriétés
  • sur la gauche, cliquer sur Paramètres système avancés. Dans la boite de dialogue Contrôle de compte d'utilisateur qui s'ouvre, continuer en cliquant sur Oui.
  • Dans la fenêtre Propriétés système, onglet Paramètres système avancés et, dans la section Performances, cliquer sur le bouton <key>Paramètres</key>
  • Dans la fenêtre Options de performances, onglet Effets Visuels, cliquer sur le bouton radio Paramètres personnalisés et décocher les effets visuels inutiles.
  • Cliquer deux fois sur OK pour fermer les fenêtres et rendre effectifs les changements.

1.2. Pré-requis chez le dépanneur

1.2.1. Connaître l'adresse (IP ou DNS) du dépanneur

Pour connaître son adresse IP ou son nom DNS, le dépanneur peut :

1.2.2. Ouvrir le port 5500

Le port 5500 correspond au protocole VNC et doit être ouvert.

1.2.2.1. Sur la box

Il faut ouvrir sur la box le port TCP 5500 et le rediriger vers la machine du dépanneur.

Dans le cas d'une freebox, ouvrir l'adresse http://mafreebox.freebox.fr dans le navigateur internet :

Un double-clic sur Paramètres de la Freebox ; dans la fenêtre qui s'ouvre, prendre l'onglet Mode avancé :

Un double-clic sur Gestion des ports ouvre la fenêtre suivante :

Ajoutez une redirection du port TCP 5500 vers la machine voulue (ici, “chateau”, d'adresse IP locale 192.168.0.1). Cela fait, cliquez sur OK

  • ports externe et interne : 5500
  • protocole : TCP
  • IP : IP locale de la machine du dépanneur (du type 192.168.0.x)
  • Commentaire : au choix
1.2.2.2. sur le pare-feu

La freebox n'a pas de pare-feu…

Il faut autoriser le port 5500 entrant, par exemple sous ubuntu avec gufw :

1.2.3. Désactiver les effets visuels d'Unity

Pour cela, installez Unity tweak tools.

Lancez-le, onglet général et réglez-le comme ceci :

installez le paquet compizconfig-settings-manager

Lancez-le (“ccsm” dans le dash) et désactivez les effets dans la section effets.

2. Accéder à un autre ordinateur via le bureau à distance Chrome

Voir la page burdistchrome

3. Avec Gitso (open source)

Voir la page gitso

4. Par VNC classique

5. Reverse SSH : accéder à un serveur derrière un NAT/Firewall

d'après http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/

geekfault.org_wp-content_uploads_2011_02_ssh-300x196.jpg

Le SSH, c’est magique. Mais la machine distante peut être inaccessible car derrière un firewall ou un routeur NAT que vous ne contrôlez pas.

Voici une méthode pour :

  • avoir accès en SSH à la machine d'un néophyte qui ne sait pas configurer son NAT
  • ou rendre votre laptop toujours joignable en SSH quelle que soit sa connexion

Cette conférence du DEF-Con http://www.youtube.com/watch?v=U4oB28ksiIo&t=3m12s montre comment l'orateur a repris la main sur une machine qui était probablement derrière un NAT.

Peut-être grâce au reverse SSH !

5.1. Principe de fonctionnement

Nous appellerons :

  • Distant l’ordinateur derrière le NAT
  • Local votre ordinateur

Le principe est assez simple :

  • Distant établit la première connexion (un tunnel SSH) vers vous
  • et Local accède très facilement à Distant en remontant le tunnel dans l’autre sens

On suppose donc que la connexion SSH vers l’ordinateur local est aisée (serveur dédié ou NAT bien configuré).

5.2. Avantages

  • Plus besoin de connaître ou de modifier la configuration du réseau sur lequel est branché Distant pour pouvoir y établir une connexion SSH. Tant que le port 22 est ouvert en outgoing ça fonctionnera (on peut même envisager de déplacer le serveur de local sur un port moins restreint tel que le 80 ou 443)
  • Plus besoin de connaître l’IP de Distant, c’est lui qui établit le contact vers local

geekfault.org_wp-content_uploads_2011_02_reverse-ssh-firewall-300x189.jpg

5.3. Vérifiez la configuration du serveur SSH local

Il faut que le serveur sur local autorise les tunnels (/etc/ssh/sshd_config) :

AllowTcpForwarding yes

5.4. Let’s go!

Sur distant (la machine inaccessible), créez le tunnel :

  • distant$ ssh -NR 22222:localhost:22 user@ip_de_local
  • ip_de_local : l’IP de votre machine
  • user : un utilisateur qui y a accès.

Une fois le tunnel établi, il ne vous reste plus qu’à remonter le tunnel pour établir la connexion SSH depuis local :

  • local$ ssh -p 22222 user@127.0.0.1

5.5. Service au démarrage

Avec autossh (disponible dans le package manager de votre distro préférée) et une connexion SSH sans mot de passe, vous pouvez très facilement créer un script de démarrage sur distant pour que le tunnel soit toujours récréé sans intervention humaine :

  • # autossh -i /path/to/privateKey.rsa -NR 22222:localhost:22 user@local

Il vous suffit d’ajouter cette commande dans vos scripts de boot (/etc/rc.local par exemple).

5.6. Aller plus loin

Ici nous utilisons du SSH pour ouvrir l’accès à un serveur SSH, mais on pourrait envisager d’ouvrir l’accès à n’importe quel serveur qui tournerait sur distant, par exemple un serveur web pour du monitoring Munin :

  • distant$ ssh -NR 22280:localhost:80 user@local
    local$ firefox "http://127.0.0.1:22280"

Vous l’aurez compris, vous pouvez aussi centraliser sur votre serveur (“local”) des tunnels venant de tous les n00bs que vous aidez régulièrement, l’astuce est de remplacer 22222 dans les diverses commandes citées sur cette page par un autre code de port compris entre 1024 et 65535. Et de maintenir une liste exhaustive de ceux-ci !

6. Voir aussi


QR Code
QR Code internet:teleassistance:start (generated for current page)