III Atelier linux ssh cvs Serveur http nfs http://www.ift.ulaval.ca/~alikacem/ateliers/linux.html
Open ssh propose une implémentation gratuite et open source de ssh. www.openssh.com La distribution de ssh comprend Côté client Côté serveur ssh sshd scp sftp-server sftp Open ssh propose une implémentation gratuite et open source de ssh.
ssh A quoi ça sert ? ssh permet d’obtenir une session de shell sur une machine distante. Il permet d’exécuter des commandes sur la machine distante et de transférer des fichiers par le réseau. Il est sécuritaire, contrairement à telnet, rlogin, ftp, etc. Toutes les communications sont encryptées.
côté serveur – configurer sshd Le fichier /etc/sshd_config permet de configurer sshd. Les options sont très nombreuses mais «man sshd» les détaille très bien.
côté serveur : activer le service manuellement ssh côté serveur : activer le service manuellement Le répertoire /etc/rc.d/init.d contient tous les services disponibles sur une machine linux. Tous ces scripts répondent à la même syntaxe.
côté serveur : activer le service au démarrage ssh côté serveur : activer le service au démarrage Niveau : S- root seulement 3-console 5-graphique (man init.d) Pour activer un service au démarrage, il faut d’abord connaître le niveau de démarrage de linux. Celui-ci est réglé dans /etc/inittab
côté serveur : activer le service au démarrage ssh côté serveur : activer le service au démarrage <S | K> pour démarrer/arrêter le service <#> ordre de démarrage/d’arrêt rcX.d où X correspond au runlevel de inittab En se placant dans le répertoire /etc/rc.d/init.d/rcX.d, on peut faire des liens vers les scripts de services pourqu’ils soient démarrés au boot
côté serveur :vérifier les logs ssh côté serveur :vérifier les logs sshd loge ses messages dans syslog. Vous pouvez donc les lire avec une commande comme tail –n400 /var/log/message | grep sshd
Syntaxe : ssh userID@hostID côté client Syntaxe : ssh userID@hostID commande ssh Nom d’usager sur la machine distante Nom ou adresse IP de la machine distante. Cette commande vous permet d’utiliser votre compte utilisateur sur une machine distante. Le compte doit être créé au préalable.
côté client – créer un jeu de clef pour ssh Demande de connexion Clef privée Clef publique On peut se connecter sans taper de mot de passe, l’authentification et l’identification reposent alors sur un jeu de clefs publiques et de clefs privées.
côté client – créer un jeu de clef pour ssh Étape à suivre pour se connecter avec authentification par clef dsa : Générer une paire de clef dsa Mettre la clef privée dans ~/.ssh/id_dsa Mettre la clef publique sur l’ordinateur distant dans ~/.ssh/authorized_keys2 En appliquant cette recette une fois, on aura plus besoin de taper de mot de passe pour se connecter en ssh,sftp,scp sur la machine distante
côté client –générer une clef pour ssh N’entrez pas de passphrase pour générer vos clef, c’est moins sécure, mais plus pratique.
ssh côté client –Conserver la clef privée La clef privée va dans le bon fichier par défaut. Elle doit être accessible seulement pour vous. Mettre la clef privée dans ~/.ssh/id_dsa
côté client – donner la clef publique au serveur ssh côté client – donner la clef publique au serveur Mettre la clef publique dans ~/.ssh/authorised_keys2 sur la machine distante
Exercice pour s’entraîner ssh Exercice pour s’entraîner -bloquer l’accès root sur le serveur ssh - modifier le port du serveur pour le port 2000.
http://httpd.apache.org/ Apache est un serveur web gratuit soumis à la licence de la fondation apache. Ce serveur est le plus performant actuellement (loin devant IIS) et est extrêmement bien documenté. Apache représente actuellement 40-50% des serveurs web d’Internet. Apache est extensible : tomcat, perl, etc… La version 2.0 de Apache permettra de gérer les nouveaux services web avec soap, xml, xslt, etc.
apache Installer apache >Télécharger apache >tar zxf apache-…. >cd apache >./configure --prefix=/usr/local/apache >make all install Apache s’installe comme tout logiciel open source et se compile en moins d’une minute.
Lancement d’apache en mode autonome L’exécutable apachectrl permet de contrôler le serveur. Pour démarrer apache au boot, faîtes un lien symbolique dans /etc/rc.d/init.d/rcX.d
Lancement d’apache en mode inetd Pour lancer apache en mode inetd, il faut d’abord configurer inetd pour qu’il lance apache sur le port 80: -Son fichier /etc/services doit contenir la ligne : http 80/tcp -Et son fichier /etc/inetd.conf : http stream tcp nowait nobody /usr/local/apache/bin/httpd httpd -f /usr/local/apache/conf/httpd.conf Ensuite, il faut changer le ServerType pour inetd dans httpd.conf Inetd est un démon qui écoute les connexions sur différents ports et peut lancer d’autres programmes pour y répondre. Il permet de réduire la charge du système mais dégrade les performances d’apache.
apache Configuration 101 Le fichier de configuration de apache se trouve dans apache/conf/httpd.conf. La syntaxe du fichier est claire. Pour trouver plus d’informations sur la configuration : http://httpd.apache.org/docs/
apache Configuration 101 Principales options du fichier de configuration : Port : le port du serveur (par défaut 80) DocumentRoot : le répertoire partagé pour le web. UserDir : répertoire web personnel de tous les usagers. DirectoryIndex : nom du fichier html par défaut pour un répertoire. ScriptAlias : emplacement pour le répertoire des scripts CGI. La norme CGI permet de faire appel à n’importe quel programme depuis le serveur web. L’entrée et la sortie standard sont utilisées pour interagir avec le serveur web.
apache Sécurité 101 Fichier de pwd utilisateur Pour sécuriser une partie de site, il faut tout d’abord créer une base de données des utilisateurs avec la commande htpasswd
apache Sécurité 102 Ensuite, il faut modifier le fichier de configuration d’apache pour indiquer quelle est la zone à protéger.
http://www.cvshome.org CVS est un logiciel qui permet à plusieurs programmeur/SEs de travailler sur un même projet en partageant les fichiers du projet. Il permet de contrôler et de gérer les différentes versions des fichiers. CVS est un logiciel très complet avec des centaines de fonctionnalités très avancés. C’est l’outil de dévellopement collaboratif par excellence. La distribution de cvs contient un serveur et un logiciel client.
Côté serveur – installer CVS >Télécharger cvs >tar zxf cvs-…. >cd cvs >./configure --prefix=/usr/local/cvs >make all install >export CVSROOT=<chemin du repository racine> >cvs init CVS s’installe comme tout logiciel open source et se compile en moins de 2 minutes.
cvs commit checkout Accès web checkout commit commit checkout CVS permet à plusieurs utilisateurs d’avoir accès en lecture ou en écriture aux fichiers d’un même projet.
Côté serveur – Configurations cvs Côté serveur – Configurations Traditionnellement, cvs est installé de 2 façons sur un serveur CVS : -en mode pserver anonyme : ce mode autorise un compte anonyme à télécharger le code du repository mais ne permet aucune écriture dans le repository. -en mode ssh : ce mode permet un accès sécurisé au cvs. On donne généralement un compte cvs+ssh à tous les dévelopeur/SEs d’un projet. Ce code permet les opérations d’écriture dans le repository.
Côté serveur – créer un compte anonyme en lecture seule cvs Côté serveur – créer un compte anonyme en lecture seule Obtenir un mot de passe crypté Unix : >passwd nobody (mot de passe vide) >copier le mot de passe crypté depuis /etc/shadow Créer un compte anonyme : Ajouter une entrée dans $CVSROOT/CVSROOT/passwd: cvs:<passwd crypté>:nobody (compte cvs:passwd:compte système) Ajouter l’usager à la liste des readers cvs $CVSROOT/CVSROOT/readers cvs
Côté serveur – créer un pserver non sécurisé cvs Côté serveur – créer un pserver non sécurisé Modifier inetd.conf pour inclure le pserver(sur une ligne) Redémarrer inetd
Côté client – Utiliser le compte anonyme cvs Côté client – Utiliser le compte anonyme Les comptes pserver doivent se logger : cvs -d :pserver:cvs@<serveur CVS>:$CVSROOT login Ensuite ils peuvent pratiquer une opération de lecture : cvs –d :pserver:cvs@<serveur CVS>:$CVSROOT co toto
Côté client – Utiliser un compte ssh pour l’écriture cvs Côté client – Utiliser un compte ssh pour l’écriture Pour utiliser un compte sécurisé pour l’écriture, il suffit d’utiliser un vrai compte ssh sur la machine serveur CVS :
cvs Côté client – Cervisia Cervisia permet d’accéder graphiquement au code partagé. Il est souvent nécessaire de bien configurer CVS_RSH pour lancer cervisia. On recommnade également de déposer la clef publique ssh sur la machine serveur pour faciliter l’utilisation de cervisia (sinon, vous devrez entrer votre mot de passe à chaque accès au cvs…:( )
cvs Côté client – Cervisia Cervisia permet de manipuler graphiquement les fichiers partagés et simplifie énormément l’utilisation de CVS.
http://ca.samba.org/samba/samba.html Samba permet à des stations Unix d’intégrer de manière transparente un réseau windows. Il permet d’accéder ou de partager des imprimantes, des systèmes de fichiers. Les machines samba sont représentées sur le réseau comme si elles étaient des machines windows standard. Samba transfert les fichiers plus rapidement que Microsoft.. Malgré tout, samba n’est pas très facile à configurer. Mais cette complexité ne vient pas de samba même…
samba Installer samba >Télécharger samba >tar zxf samba-… >cd samba/ource >./configure --prefix=/usr/local/samba >make all install Samba s’installe comme tout logiciel open source et se compile en moins de 5 minutes.
samba Configurer samba Le fichier de configuration de samba se trouve /usr/local/sambalib/smb.conf par défaut. Ce fichier n’existe pas mais on peut utiliser le fichier examples/smb.conf.default : > cp examples/smb.conf.default /usr/local/samba/lib/smb.conf Ensuite on doit changer les paramètres du fichier de config : -workgroup -netbios name -interfaces Décommenter la section [public] et créer un répertoire accessible à touTEs pour le partage. Les configurations de base dans Samba sont rapides à faire, mais le modèle des réseaux windows est TRES complexe…
samba Lancer samba Pour lancer samba, il faut lancer 2 démons : /usr/local/samba/sbin/nmbd -D /usr/local/samba/sbin/smbd –D Ces deux démons vont permettre une connexion rapide au réseau windows. Pour accéder à un serveur samba depuis une autre machine, on peut utiliser l’explorer de windows (depuis windows) ou bien la commande /usr/local/samba/bin/smbclient (sous linux). Le démarrage de samba est également très simple. Samba peut également être lancé par inetd mais c’est assez inhabituel.