Réseau. 1. Commandes réseaux, découverte environnement. TP1 - Connaissances de base, SSH

Documents pareils
Table des matières Hakim Benameurlaine 1

SSH. Romain Vimont. 7 juin Ubuntu-Party

SSH et compagnie : sftp, scp et ssh-agent

Projet Administration Réseaux

SSH, le shell sécurisé

Les commandes relatives aux réseaux

Aide-Mémoire unix. 9 février 2009

Installation du transfert de fichier sécurisé sur le serveur orphanet

FreeNAS Shere. Par THOREZ Nicolas

I. Linux/Unix/UnixLike

Installation et mise en œuvre de OpenSSH sous AIX 5L

Le service FTP. M.BOUABID, Page 1 sur 5

TP : Introduction à TCP/IP sous UNIX

Couche application. La couche application est la plus élevée du modèle de référence.

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

TP 4 de familiarisation avec Unix

«Astrophysique et instrumentations associées» Cours UNIX Benoît Semelin

Live box et Nas Synology

SSH : Secure SHell. De l utilisateur à l administrateur. Version du 21/10/2004. Frédéric Bongat [fbongat@lmd.ens.fr]

Année Universitaire ième année IMAC Mardi 6 janvier Cloud computing Travaux Pratiques

Services Réseau SSH. Michaël Hauspie. Licence Professionnelle Réseaux et Télécommunications

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Manuel des logiciels de transferts de fichiers File Delivery Services

Environnements informatiques

NAS 109 Utiliser le NAS avec Linux

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

sshgate Patrick Guiran Chef de projet support

Introduction. Adresses

TP Sur SSH. I. Introduction à SSH. I.1. Putty

Bon ben voilà c est fait!

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

Linux LTE 2 - ISSBA. Année universitaire Linux Réseau et Archivage. Jean-Michel RICHER Faculté des Sciences, H206 1

Unix/Linux I. 1 ere année DUT. Université marne la vallée

La sécurité avec SSH. Atelier cctld Dakar, Sénégal. Hervey Allen

Secure SHell. Faites communiquer vos ordinateurs! Romain Vimont ( R om)

TP1 - Prise en main de l environnement Unix.

Sauvegarde sous MAC avec serveur Samba

Guide d utilisation de l utilitaire Intel One Boot Flash Update

1 Démarrage de Marionnet

Antisèches Informatiques. Configuration et utilisation de openssh. Sommaire. Openssh pour linux. Installation. 1 sur 24 04/06/ :04

M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015

ftp & sftp : transférer des fichiers

1. Présentation du TP

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Contrôle de la DreamBox à travers un canal SSH

Cisco Certified Network Associate

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Ajout et Configuration d'un nouveau poste pour BackupPC

Configuration d un firewall pour sécuriser un serveur WEB

ASRb/Unix Avancé II. Chapitre 2. Utilitaires réseaux. Arnaud Clérentin, IUT d Amiens, département Informatique

1. Utilisation PuTTY openssh WinSCP

Installation d'un serveur sftp avec connexion par login et clé rsa.

L3 informatique TP n o 2 : Les applications réseau

Serveurs de noms Protocoles HTTP et FTP

Département R&T, GRENOBLE TCP / IP

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Introduction au protocole FTP. Guy Labasse

Sauvegardes par Internet avec Rsync

Enoncé du TP 7 Réseaux

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Figure 1a. Réseau intranet avec pare feu et NAT.

Objet : Guide d'installation et de maintenance pour "My IC Phone 8082" connecté à un OmniPCX Office R810

Quelques protocoles et outils réseaux

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

OpenSSH. Présentation pour le groupe SUR (Sécurité Unix et Réseaux) 08/03/2005. Saâd Kadhi

ROYAUME DU MAROC. Office de la Formation Professionnelle et de la Promotion du Travail. Ssh sous Gnu/Linux

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Le protocole SSH (Secure Shell)

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

Serveur de sauvegardes incrémental

Les différentes méthodes pour se connecter

Installation du point d'accès Wi-Fi au réseau

Installation d'un FreeNAS (v0.684b du 30/03/2007) pour sauvegarder les données d'un ZEServer

Atelier Le gestionnaire de fichier

MANUEL D INSTALLATION D UN PROXY

FTP / WebDeploy /WebDAV. Manuel

Enoncé du TP 7 Réseaux

NAS 224 Accès distant - Configuration manuelle

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Serveur de sauvegarde à moindre coût

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Linux sécurité des réseaux

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

DSI - Pôle Infrastructures

Spécialiste Systèmes et Réseaux

il chiffrer les flux d'authentification et les flux de données il n'y a pas de soucis d'ouverture de ports avec des modes actif/passif à gérer

L'accès aux ressources informatiques de l'ufr des Sciences

La Comptabilité UNIX System V Acctcom

2011 Hakim Benameurlaine 1

Procédures informatiques administrateurs Création d un serveur FTP sous Linux

L annuaire et le Service DNS

Protection des protocoles

Administration UNIX. Le réseau

Note technique. Recommandations pour un usage sécurisé d (Open)SSH

TP LINUX : MISE EN RÉSEAU D UN SERVEUR LINUX

II- Préparation du serveur et installation d OpenVpn :

INFO-F-404 : Techniques avancées de systèmes d exploitation

Transcription:

1 sur 7 06/09/2012 09:32 Réseau TP1 - Connaissances de base, SSH Contenu de la Page 1. Commandes réseaux, découverte environnement 2. Ecriture d'un petit Shell script 3. Organisation de son Arborescence personnelle 4. Utilisation de la commande ssh 5. Authentification prise en compte par agent - Procédure unique: 1-Génération de clé publique et privée de type 'dsa' 2-Donner la clé publique au compte-serveur ( en ajout) 6. Exécution distribuée sur le réseau (Remote-Shell) - 1. Introduction - 2. Scripts 1 - ou-est, ou-sont - 3. Scripts 2 - charge-min 1. Commandes réseaux, découverte environnement retour haut de page On traitera les rubriques suivantes en interpretant les résultats : * la machine locale o hostname o uname -a * les adresses o physiques ( ETHERNET ) + netstat -i ( + activité du réseau ) + /usr/sbin/arp -a ( table ARP ) o logique ( IP ) + fichier /etc/hosts + /sbin/ifconfig -a ( la carte réseaux ) + /usr/sbin/arp o symbolique ( Noms de Domaines ) + fichier /etc/resolv.conf (identification du résolveur ) + /usr/bin/nslookup adresse (interrogation du résolveur ) * le cheminement o netstat -r ( table de routage ) o ping adresse ( test de réponse d'une carte réseau d'une station distante ) + tester une station du réseau locale o ping -c1 -R adresse ( -R: option de traçage ~ traceroute )

2 sur 7 06/09/2012 09:32 + ping -c1 -R ftp.univ-lehavre.fr * l'accès à des sites http d'information sur nos réseaux o //di/stats/mrtg/intra ( pour le réseau du département informatique ) o www.crihan ( pour le réseau de hate-normandie ) o www.renater ( pour le réseau national ) * le service de transfert de fichier ( File Transfert Protocol FTP ) o sur le réseau du département informatique + Ce service n'est plus disponible ( Sécurité oblige! : mot de passe du login transmis non encrypté ) o en mode anonyme ( uniquement téléchargement ) + nom d'utilisateur : anonymous + mot de passe : votre-login@iut.univ-lehavre.fr # par exemple: ftp ftp.univ-lehavre.fr # utiliser help pour prendre rapidement connaissance des commandes ftp. * le service SSH ( service de communication sécurisé ) o toutes les données transmises sont encryptées o Il remplace les anciens services + RLOGIN ou TELNET (connexion distantes) + FTP ( transfert de fichiers ) + R... ( exécutions à distance "remote-exec" ) o on pourra l'utiliser avec les 3 syntaxes: + ssh adresse + ssh remoteuser@adresse + ssh [remoteuser@]adresse commande # la commande est exécutée sur la machine distante: * ex: ssh givry who 2. Ecriture d'un petit Shell script retour haut de page Ecrire un script shell: * testtx salletp Cette commande a pour paramètre le nom d'une salle TP de terminaux X Elle affiche sur la sortie standard pour chacun des TX envisagés : * son nom suivi d'un des messages: o En Service o Hors Service o Inexistant Indication : Tester le code de retour de la commande * ping -c1 $nomtx > /dev/null 2>/dev/null avec nomtx=di-$salle-$ident pour ident= 01 02 03... 55? 3. Organisation de son Arborescence personnelle retour haut de page

3 sur 7 06/09/2012 09:32 Quelque soit la machine hôte de connexion l'arborescence vue est unique grace au mécanisme de montage 'NFS' de partition. Cela présente pour l'utilisateur une souplesse d'utilisation, mais peut engendrer une certaine confusion, en particulier au cours des TP Réseau. * copier un fichier avec une commande 'reseau' est équivalent à le copier avec une commande locale ( ex. cp ) * les fichiers exécutables issus d'une compilation sur processeur SPARC doivent etre distinguer des compilation sur processeur Intel Pour cela on se propose de créer autant de sous Arborescences que de machines hotes: * $HOME/A-nom_machine_hote et de positionner à la connexion le répertoire de travail à $HOME/A-nom_machine_hote Bien sur, le répertoire personnel n'est pas modifié par l'opération Indications: Le fichier $HOME/.profile ne doit pas etre modifié mais comme il a été prévu par CAIRE, les mises à jour seront placées dans le fichier $HOME/.shrc_priv, lui-meme exécuté par.profile if [! -d $HOME/A-$(hostname) ] then mkdir $HOME/A-$(hostname) fi cd $HOME/A-$(hostname) Attention, vérifier l'execution du fichier.shrc_priv : à la fin du fichier.bashrc, doit se trouver la ligne suivante: ## configuration personnelle if [ -f $HOME/.shrc_priv ]; then. $HOME/.shrc_priv ; fi Vérifier le fonctionnement par : * connexion direte * connexion par ssh 4. Utilisation de la commande ssh retour haut de page L'application SSH est un service complet qui permet le transport des informations sur un réseau IP par chiffrement. Le protocole SSH2 est opérationnel sur les serveurs du réseau du département, dans son implémentation libre openssh La commande 'ssh' engendre le processus client en communication avec le processus serveur 'sshd' sur la machine distante. L'execution de la commande 'cmde' sur la machine distante 'remotehost' est telle que la commande a pour entrée/sortie-standard l'entrée/sortie-standard de l'utilisateur local. On pourra faire les tests avec les 'cmde' suivantes: ls - hostname - uname - pwd - who - date...

4 sur 7 06/09/2012 09:32 ssh remotehost cmde ssh remoteuser@remotehost cmde # remoteuser est un utilisateur ayant un autre nom que l'utilisateur de la machine locale ssh -l remoteuser remotehost cmde # forme équivalente à la précedente (syntaxe issue de l'ancien 'rlogin') ssh remoteuser@remotehost 'cmde1 ; cmde2 ;... ' Ex : ssh remotehost ' test fich ; echo $? ' ssh -v remotehost La redirection: ssh remotehost cmde > fich # sur compte local ssh remotehost cmde '>' fich # sur compte distant Le pipe-line: ssh remotehost cmde1 cmde2 # cmde2 local ssh remotehost 'cmde1 cmde2' # cmde1 et cmde2 distants v=$(ssh remotehost 'cmde1 cmde2' ) Ex: cmde1 : who cmde2 : wc -l cmde0 ssh remotehost cmde1 # cmde1 a pour entrée standard la sortie standard de cmde0 Ex: cat fich1 ssh remotehost cat '>' fich2 Recopie de fichiers: (Le caracrère : doit etre collé au nom machine ) scp f1 remotehost: # recopie de f1 sur compte distant avec le meme nom de fichier scp f1 remoteuser@remotehost: # recopie de f1 sur compte distant remoteuser avec le meme nom de fichier scp f1 remotehost:f2 # recopie de f1 sur compte distant avec un autre nom de fichier scp remotehost:f1 f2 # le fichier source est sur le compte distant scp -r...... # recopie arborescent. Meme syntaxe mais indiquer des répertoires pour la source et la destination Aplication de transfert de fichiers: sftp remotehost ( à ne pas confondre avec gftp qui est une interface graphique de commandes ) 5. Authentification prise en compte par agent retour haut de page La nécessité de fournir le mot de passe du compte distant présente des inconvénients: 1. contrainte pour l'utilisateur. 2. obligation de travailler dans un contexte interactif 3. le mot de passe, bien que 'encrypté' est transmis au serveur Une autre solution, pour éviter ces inconvénients, consiste à effectuer une authentification par clés: la clé privée : pour encrypter (clé secrète connu uniquement du compte local) la clé publique : pour décrypter (clé fournie au compte sur la machine distante (serveur) Ces clés sont utilisées pour l'authentification réciproque du compte-client et du compte-serveur; Remarque: Ce ne sont pas celles utiliser pour encrypter/décrypter le flux emis/reçu sur le reseau. Pour cela la procédure à effectuer est la suivante. ATTENTION! cette procédure d'initialisation est unique:

5 sur 7 06/09/2012 09:32 Elle ne doit pas etre erronnée: Une 'pass phrase' est demandée (de 10 à 30 caractères) elle peut comporter des espaces. Elle sera nécessaire pour valider le mécanisme d'authentification, par exemple au login. Si elle est oubliée, personne ne pourra vous la retrouver, ni la changer. Procédure unique: retour haut de page 1-Génération de clé publique et privée de type 'dsa' retour haut de page ssh-keygen -t dsa # les clés sont par defaut placées dans les fichiers: Vérifier les protections ( ls -l $HOME/.ssh ) clé privée => $HOME/.ssh/id_dsa clé publique => $HOME/.ssh/id_dsa.pub 2-Donner la clé publique au compte-serveur ( en ajout) retour haut de page cat $HOME/.ssh/id_dsa.pub >> $HOME/.ssh/authorized_keys # Ici la simplification vient du fait que le répertoire $HOME/.ssh est le meme pour tous vos compte sur les differents les serveurs. Procedure à executer après chaque login: Maintenant la 'pass-phrase' est demandée à la place du mot de passe de login, à chaque appel de ssh, car il faut décrypter la clé privée pour l'utiliser. Tester ainsi quelques commandes ssh. Pour éviter cette nouvelle contrainte l'utilisateur va demander à s'identifier auprès de l'agent-ssh, c'est à dire transmettre sa clé privée ( sous forme décrypée ) au processus 'agent-ssh': Il faut encore entrer sa 'pass phrase'! mais cette fois-ci, cela sera la dernière fois! Tout au moins jusqu à votre prochain 'logging'. ssh-add On pourra vérifier que l'identification a été effectuée: ssh-add -l Si on veut au cours de la session verouiller l'agent-ssh ssh-add -x On pourra le déverrouller ssh-add -X 6. Exécution distribuée sur le réseau (Remote- Shell) retour haut de page 1. Introduction retour haut de page Nous allons coir qu'il est possible d'écrire des application réparties sur le réseau local très

6 sur 7 06/09/2012 09:32 simplement en shell: Le script-shell contenant des lignes du type ssh hote commande, et sachant que les E/S standards sont redirigés localement, il obtient des informations en provenance de machines éloignées. ssh hote commande # commande exécutée sur la machine hote var=$(ssh hote commande) ssh hote commande > fich_local ssh hote commande commande_locale var=$(ssh hote commande commande_locale) L'environnement avec authentification par clés avec passphrase doit etre opérationnel Il peut etre amélioré avec demande systematique de la passphrase par le WindowManager: Ajouter en première ligne dans le fichier /.xsession (o : o ssh-add < /dev/null Se déloguer et reloguer pour vérifier le bon fonctionnement. Les fichiers script-shell seront placés sous le répertoire: o /TP/reseau/shell Mettre à jour la variable PATH afin que ces scripts soient accessibles directement. Mise à jour à placer dans le fichier ~/.shrc_priv 2. Scripts 1 - ou-est, ou-sont retour haut de page Ecrire la commande ou-est nom_utilisateur qui liste le nom des machines ou l'utilisateur est connecté, parmi une liste prédefinie de machines hotes. (gamay, tavel ou etoile) Remarque: On controlera si le nom de l'utilisateur est valide ( enregistrement dans le fichier /etc/passwd ) avant de commencer la recherche Certains utilisateurs peuvent être connectés à plusieurs machines. Utiliser la commande 'users' pour avoir la liste des utilisateurs logués. liste_hote="gamay tavel etoile" for hote in $liste_hote do for util_log in $(ssh $hote users) do... done done Modifier la commande 'ou-est' pour avoir la commande 'ou-sont' : ou-sont nom_utilisateur1 nom_utilisateur2... remarque: ce script peut appeler le précedent (ou-est)

7 sur 7 06/09/2012 09:32 3. Scripts 2 - charge-min retour haut de page Ce script recherche parmi les 3 serveurs 'etoile gamay tavel' celui qui est le moins chargé, et propose, dans le cas ou c'est une autre machine que sa machine locale, d'établir la connection sur cette machine la moins chargée. INDICATIONS: La commande "uptime" affiche les 3 charges moyennes: (voir manuel) Tester la commande en local et à distance. Pour résoudre le problème, Il faut donc: 1. récupérer ces 3 charges pour chacun des serveurs. 2. y associer le nom correspondant du serveur 3. trier par ordre croissant 4. prendre la première donnée Recuperer les 3 charges dans une variable, On pourra effectuer les tests suivant en interactif sur la machine locale: 1. retirer tous les caractères ','et'.' sur la ligne 'load' => uptime grep load tr -d '.,' 2. réduire une suite d'espaces à un seul espace => uptime grep load tr -d '.,' tr -s ' ' 3. placer le résultat dans une variable => lcharge=$(uptime grep load tr -d '.,' tr -s ' ' ) 4. Eliminer tout le texte à gauche jusqu'à "load average: " inclu, et afficher le résultat à l'écran => echo ${lgcharge#*load average: } Début du programme: list_serv='gamay tavel etoile' for serv in $list_serv do lcharge=$(ssh $serv "uptime grep load tr -d '.,' tr -s ' ' " ) echo ${lcharge#*load average: }:$serv # ajouter le nom du serveur done sort tee charge$$ head -1 > charge-min$$ # creation du fichier charge$$ et charge-min$$ pour la phase de test cat charge$$ # afficher le fichier en phase de test cat charge-min$$ # afficher le fichier en phase de test serv_min=$( cut -d: -f2 charge-min$$ ) rm charge$$ charge-min$$ echo "le serveur le moins chargé est : $serv_min" suite: propose, dans le cas ou c'est une autre machine que sa machine locale, d'établir la connection sur cette machine la moins chargée. établir la connection