AccesDistantSkole - Acces par Internet au serveur de test SkoleLinux

Problématique :

Pour participer au developpement de la solution SkoleLinux il faudrait que l'ensemble des membres puissent acceder à distance au serveur avec un acces console et un acces au bureau (il faut pouvoir changer de profil)

Les difficultés vont être:

Solution proposée :

Deux routeurs chaînés Le routeur wifi installé chez Emmaüs est un : Lynksys BEFW11S4 -la documentation au format pdf* Le routeur que nous pourrions ajouter est un : D-LinkDi701?-la documentation au format pdf*

Pour l'adresse IP, il existe de bonnes solutions de DNS dynamique, commeNo-IPouDynDNS.MagicTom

Méthode utilisée :

Câblage du réseau :

Paramétrage du routeur D-Link Di-701 :

Global : 192.168.1.200 (255.255.255.0) Local : 10.0.2.1 (255.255.254.0) Passerelle : 192.168.1.1 (255.255.255.0) Ladresse 10.0.2.2 a été mise en DMZ (zone démilitarisé), ce qui signifie quil ny a aucune restriction sur les ports pour cette adresse. C'est pour ça que le routeur est transparent et que lorsqu'on fait une requete sur le port 192.168.1.200 c'est comme si l'on s'adressait directement au serveur.

Paramétrage du serveur SkoleLinux :

Installation de VNC parapt-get install vncserver

Pour se connecter il faut utiliser un tunnel SSH, voici comment proceder :

sous Linux :

On edite~/.ssh/config

et dedans on rajoute :

Host=skolevnc Hostname=skoleserver.ath.cx User=root Compression=yes LocalForward=5901 localhost:5901

en suite il faut ouvrir une console et taper :ssh skolevnc Il demande le mot de pass SSH (et non VNC) .

Maintenant on ne touche plus a cette console, on la laisse dans un coin ... , ouvrez une nouvelle console (ou utilisez votre client vnc favorit) et tapez : vncviewer localhost:1(ou vncviewer est votre client vnc)

Voila vous etes connectes ...

Il se peut qu'a la place de specifier le "port":1il faille specifier le port:5901au client vnc .., cela depend du client ..

sous windows :

Sous windows, pour gerer les tunnels ssh nous allons utiliserPuttY:

On lance putty.exe et on remplit les champsHostname,PortetSaved Sessionscomme indique ici :

AccesDistantSkole_skolevnc1_20050411164740_20050411164816 * Puis on va tout en bas dans le menu de gauche, et on selectionneTunnelspour remplir les champs comme indiqué ici :

AccesDistantSkole_skolevnc2_20050411164740_20050411164837 * et il ne faut pas oublier d'appuyer surAdd

Maintenant on retourne dans la pageSession(tout en haut du menu de gauche) et on clique surSave

AccesDistantSkole_skolevnc3_20050411164740_20050411164858 * Il ne reste plus qu'a se connecter par ssh comme d'habitude en double-cliquant sur le nom de la session sauvegardee (iciskolevnc)

Le login et le mot de passe SSH sera demandé (a moins que vous utilisiez une clef).

Une fois connecté, lancez votre client vnc et connectez vous surlocalhost, port:1(ou:5901) comme indique ici :

AccesDistantSkole_skolevnc4_20050411164740_20050411164914 * Vous pouvez bien sur combiner le tunnel ssh avec la methode d'autentification par clef, pour cela, il suffit de choisir une clef comme decrit plus bas (connection ssh) avant de sauvegarder le profile de la session .

--KernelSensei

Installation et paramétrage de ddclient (client pour Dyndns.org) :

Voici le fichier de conf :

# Configuration file for ddclient generated by debconf## /etc/ddclient.confsyslog=yesdaemon=300pid=/var/run/ddclient.pidprotocol=dyndns2use=web, web=checkip.dyndns.org/, web-skip='IP Address'login=password=schlossgul.ath.cx, skoleserver.ath.cx

Explication des paramètres :

syslog=yes: Active le logging pour voir ce qu'il se passe. daemon=300: Verifie l'ip actuelle toutes les 300 secondes. pid=/var/run/ddclient.pid: Créé un fichier avec l'id du processus a cet emplacement. protocol=dyndns2: Protocol pour communiquer avec dyndns. use=web, web=checkip.dyndns.org/, web-skip='IP Address': Aller chercher l'ip grace à une page web, et ignorer le texteIP Address. server=members.dyndns.org: On precise le serveur dyndns. login=<le_login>: Nom d'utilisateur dyndns. password=<le_pass>: Votre mot de passe dyndns. schlossgul.ath.cx, skoleserver.ath.cx: Les DNS a mettre a jour.

Paramétrage du routeur Wifi Linksys befw11s4 :

Wan: 192.168.1.1 (255.255.255.0) Cétait le paramétrage de base il na pas été nécessaire de le modifier. Nous avons mis en place une translation de port (Port Range Forwarding). Le port 22 est transmis sur le port 22 à ladresse 192.168.1.200 (pour le service SSH) Le port 5900 est transmis sur le port 5901 à ladresse 192.168.1.200 (pour le service VNC)

Ouverture dun compte chez DynDNS?.org :

Ouverture et activation dun compteskoleserver.ath.cxchezDynDNS?.org. Un serveur DNS (Dynamic Name Serveur) permet de faire la correspondance entre ladresse IP et le nom du site.skoleserver.ath.cxest associé à ladresse IP du serveur de testSkoleLinux. Emmaüs dispose dun accès Internet Adsl par Wanadoo. Or Wanadoo, comme presque tous les FAI renouvelle les adresse IP toutes les 24 heures. Le problème est donc de connaître ladresse IP au moment de la connexion. DynDNS?.org propose linstallation dun logiciel sur le serveur (ddclient) qui va lire toutes les 300 secondes (= 5 minutes) une page web :http://checkip.dyndns.org/. Cette page renvoie Current IP Address: 66.249.71.14 (par exemple). Si ladresse est différente de celle enregistré sur dyndns.org pour le host schlossgul.ath.cx , le host en question est mis à jour.

Test avec un client SSH windows :

Pour Windows, il est possible de télécharger le client SSH Putty à cette adresse :http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Pour se connecter il suffit de renseigner la zone hostname avecskoleserver.ath.cx... Vous arriverez sur l'écran de login directement sur le serveur. Vous pouvez demander le mot de passe root pour l'accès au serveur àKernelSensei,JeromeForbouThierryForb.

L'accès par SSH est déjà pleinement opérationnel, l'accès par VNC devrait l'être aussi dans les jours à venir...

Se connecter par ssh sans taper le mot de passe :

Voici la procédure pas à pas :

  1. Sur votre machine ouvrez un terminal et tapez : ssh-keygen -t rsa -b 1024

  2. Laissez le fichier par défaut (normalement /home/votre_utilisateur/.ssh/id_rsa)

  3. Si vous le souhaitez, vous pouvez laisser un mot de passe vide (si vous mettez un mot de passe vous aurez à le taper à chaque connexion)

  4. Faites scp /home/votre_utilisateur/.ssh/id_rsa.pub skoleserver.ath.cx: skoleserver.ath.cx peut être remplacé par schlossgul.ath.cx

  5. Connectez-vous sur le serveur :  ssh root@skoleserver.ath.cx

  6. Tapez exactement : cat id_rsa.pub >> .ssh/authorized_keys ATTENTION AU DOUBLE ">" SINON LE CONTENU DU FICHIER SERA EFFACÉ !

  7. Voilà... ssh root@skoleserver.ath.cx ne devrait plus vous demander de mot de passe...

Attention, votre fichier /home/votre_utilisateur/.ssh/id_rsa (pas le id_rsa.pub) doit rester secret...

L'équivalent sous Windows avec Putty :

  1. Téléchargez PuTTy, PuTTYgen? et PSCP depuis http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

  2. Lancez PuTTYgen?. Cliquez sur Generate puis bougez votre souris pour générer des données aléatoires...

  3. Copiez le contenu du cadre "Public key for pasting into OpenSSH? authorized_keys file" dans un fichier texte que vous sauvegarderez quelque part sur votre disque dur (c'est une très bonne idée pour la suite de le mettre dans le même dossier que PSCP et de l'appeler id_rsa.pub...) et enregistrez votre clef privée (bouton "Save private key" dans un endroit sûr (cliquez sur Oui si le logiciel vous demande si vous être sûr de vouloir enregistrer une clef sans mot de passe), puis quittez PuTTYgen?

  4. Ouvrez une fenêtre de commandes MS-Dos (Démarrer -> Exécuter -> "cmd"), allez dans le dossier où est enregistré PSCP, puis tapez pscp id_rsa.pub root@skoleserver.ath.cx: (skoleserver peut être remplacé par schlossgul ; n'oubliez pas le double-point à la fin de la ligne...) puis entrez le mot de passe lorsqu'il vous est demandé

  5. Lancez PuTTy. Dans Hostname, tapez root@skoleserver.ath.cx. Dans protocol, choisissez SSH. Allez dans Connection -> SSH -> Auth, cliquez sur Browse... et choisissez le fichier de votre clef privée. Retournez dans Session et sauvegardez votre session (donnez-lui le nom que vous voulez et cliquez sur Save ; au prochaine démarrage de PuTTy, double-cliquez sur le nom de votre session pour vous reconnecter automatiquement avec les bons réglages). Enfin, cliquez sur Open pour vous connecter... Le mot de passe vous sera demandé la première fois.

  6. Tapez exactement : cat id_rsa.pub >> .ssh/authorized_keys ATTENTION AU DOUBLE ">" SINON LE CONTENU DU FICHIER SERA EFFACÉ !

  7. Voilà... Il vous suffira ensuite de double-cliquer sur le nom de votre session pour vous connecter directement.

  8. Il est possible de lancer la connexion par un simple clic en créant un raccourci putty.exe -load skoleserver où skoleserver est le nom de la session enregistré dans Putty.

Attention à ne pas laisser accès à tout le monde à votre clef secrète !

AccesDistantSkole (last edited 2006-03-15 21:38:05 by HerVé)