1 votes

Connexion à plusieurs ordinateurs via SSH derrière une seule IP publique ?

Je me trouve dans la situation suivante. Je suis de plus en plus utilisé (bien que rémunéré) comme "informaticien" dans le quartier pour "réparer" les "problèmes" courants. En tant que pirate informatique, j'ai pensé à offrir à mes clients un service d'assistance à distance via SSH/VNC. Conceptuellement, c'est très bien, mais il y a quelques détails de mise en œuvre qui me posent problème.

  1. Déterminer l'adresse IP du routeur de chaque client. Cela peut se faire normalement avec le DNS dynamique, mais j'ai pensé à écrire un petit programme qui enverra l'adresse IP actuelle du routeur à mon serveur, afin que je puisse garder le contrôle. Le DNS dynamique est bien sûr plus facile, mais il pourrait se compliquer si j'utilise un service externe. Je suis un radin, donc moins j'ai à payer, mieux c'est, et il ne serait pas idéal de devoir créer un nouveau compte pour le routeur de chaque client. Voici mes options pour le DNS dynamique :

    1. Je pourrais payer mensuellement l'hébergement d'un serveur de noms, créer une hiérarchie de domaines logique et mettre en place un DNS dynamique.
    2. Je pourrais acheter un serveur peu sophistiqué, héberger BIND et tout faire localement, mais comme ci-dessus.
    3. Je pourrais faire payer les clients par mois ( !?!) pour les "frais d'hébergement DNS dynamique" et utiliser les recettes pour payer un beau compte chez DynDNS.org ou quelque chose comme ça.
  2. Prise en charge de plusieurs ordinateurs au-delà de leur routeur. Pour cela, j'ai aussi des options :

    1. Mettre en œuvre OpenVPN dans la mesure du possible et utiliser simplement le VPN à distance pour accéder aux ordinateurs comme je le ferais s'il s'agissait de machines locales sur le réseau. (C'est ainsi que fonctionnent les VPN, n'est-ce pas ? Je me présenterais au routeur comme une simple adresse IP et j'aurais un accès complet à toutes les machines du réseau, n'est-ce pas ?)
    2. Mettre en place une connexion inversée pour qu'ils se connectent à moi et que j'établisse la connexion SSH avec eux.
    3. La manière la plus délicate de faire suivre le port. Il s'agit de conserver une base de données de chaque client et le numéro de port de la machine de chaque client pour SSH sur le routeur. C'est dégueulasse.
  3. Être en mesure d'assurer l'assistance à distance des ordinateurs portables. Supposons que mon client se trouve dans un café à l'étranger et que quelque chose se passe mal. Étant donné que bon nombre des solutions susmentionnées sont basées sur des routeurs, tout s'écroule. Il n'est pas très important de pouvoir le faire dès le départ, car il s'agit en quelque sorte d'un cas limite, mais tout de même.

Quelqu'un peut-il recommander la meilleure façon de 1. trouver l'adresse IP publique de chaque machine, 2. établir une connexion avec elle, et 3. éventuellement fournir un service à distance*à distance s'ils sont "itinérants" ?

2voto

NSTJ Points 101

Avez-vous examiné les services en ligne tels que logmein ou gotomypc ? J'utilise logmein lorsque j'aide mon père et je pense qu'ils ont un produit qui pourrait répondre à vos besoins.

1voto

James Mertz Points 390

De nombreux problèmes peuvent être ignorés si l'on utilise le système TeamViewer . Le client n'a qu'à lancer le programme et à vous communiquer l'identifiant (statique) et le mot de passe (temporaire) ; le programme se charge de contourner les NAT et offre un bureau à distance et le transfert de fichiers. Il n'y a pas d'alternative à SSH, mais TeamViewer permet apparemment aussi le VPN dans le réseau du client. (Je ne suis pas sûr que cela fonctionne sans Admin/root).

Pour le DNS dynamique, vous pouvez réutiliser les outils existants "DynDNS updater", par exemple, inadyn - ils peuvent être dirigés vers des serveurs arbitraires, et ils fonctionnent tous en effectuant une simple requête HTTP que vous pouvez enregistrer.

Pour ce qui est de la prise en charge de plusieurs ordinateurs au-delà du routeur, je pense à l'IPv6 - si seulement votre fournisseur d'accès à Internet le prenait en charge... sinon, les VPN (vous avez raison sur leur fonctionnement) seront plus fiables si une adresse interne change ou si un nouvel appareil est connecté.

1voto

Cheerio Points 135

Pour VNC du côté "client" (qui peut être derrière des pare-feu/routeurs, etc.), la mise en place d'un serveur à votre extrémité avec écoute est ce que je pense que vous recherchez. Raymond cc a rédigé un bon article sur la façon de procéder : http://www.raymond.cc/blog/archives/2007/04/05/free-and-easy-remote-access-with-vnc-reverse-connections/

Pour les connexions SSH, on peut faire comme "nohup ssh -f -N -R 10000:localhost:22 username@your_side" qui fera en sorte qu'un ssh vers your_side:10000 aboutisse au client que vous essayez de supporter. Cela nécessitera un nom d'utilisateur de votre côté que vous pourrez donner à vos clients bien sûr. Pour plus de détails, voir par exemple http://www.vdomck.org/2005/11/reversing-ssh-connection.html

Dans les deux cas, les personnes que vous essayez d'aider devront faire un travail de démarrage, mais c'est généralement (d'après mon expérience) un gros problème.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X