Université de Nice-Sophia Antipolis Semestre 2 Licence Mathématiques-Informatique Semaine du 26 février 2007 Systèmes Informatiques Mémento pour la séance n 6 1 Connexion non cryptée à une machine distante Le fichier.rhosts du répertoire racine de l utilisateur sur la machine distante permet d autoriser les connexions distantes : aiguemarine.i3s ol gnu.org olecarme uranie pierredelune.i3s ol Si le nom d utilisateur n apparaît pas, c est automatiquement le même que l utilisateur courant. rlogin permet de se connecter depuis une machine sur une autre, toutes deux utilisant Unix : rlogin [-l utilisateur] machine Si l utilisateur n est pas indiqué, c est l utilisateur courant. rsh permet de faire exécuter une commande sur un ordinateur distant. L autorisation par le fichier /.rhosts sur cet ordinateur distant est indispensable. rsh [-n] [-l utilisateur] machine commande complète Si l utilisateur n est pas indiqué, c est l utilisateur courant. L option -n demande d ignorer l entrée standard. Elle est nécessaire si la commande entière est placée en tâche d arrière-plan. rcp permet de copier des fichiers entre deux machines. L autorisation par le fichier /rhosts est indispensable. rcp [-r] source destination La forme générale de la source et de la destination est : [utilisateur@][machine:]chemin Si l utilisateur n est pas indiqué, c est l utilisateur courant. Si la machine n est pas indiquée, c est la machine locale. Les conventions dans le cas de plusieurs sources ou d une destination qui est un répertoire sont les mêmes qu avec la commande cp. telnet permet la connexion à un ordinateur quelconque : telnet [-l utilisateur] machine [numéro de port] Si l utilisateur n est pas indiqué, c est l appelant. Si le port n est pas indiqué, c est 23. On peut aussi utiliser la commande M-x telnet dans Emacs, pour conserver la trace de l ensemble de la session dans un tampon. Les commandes utilisables sont les mêmes que dans le mode Shell, à voir dans le mémento sur Emacs.
2 2 Sécurité des connexions X xauth permet de gérer la clé cryptée construite par GDM lors de la connexion. Elle s utilise soit avec une commande en paramètre, soit de manière interactive. Les commandes principales sont : extract fichier terminal extrait la clé correspondant au terminal et l envoie sur le fichier ; list liste toutes les entrées ; merge fichier ajoute les entrées trouvées dans le fichier ; nextract, nlist et nmerge manipulent les entrées en donnant la clé sous forme numérique. Quand un fichier est l entrée ou la sortie standard, on le note -. La transmission à la machine distante de la clé correspondant au terminal local peut se faire selon le modèle : xauth nextract - terminal:0 rsh machine distante xauth nmerge - Ensuite, les clients peuvent être lancés sur la machine distante par rsh. Le script rstart permet de lancer un client unique en une seule commande : rstart hivaoa xterm & 3 Transferts de fichiers entre machines distantes ftp permet les transferts de fichiers entre machines distantes. C est un outil interactif qui a de très nombreuses commandes. Les principales sont les suivantes : open nom de machine commence une connexion. user nom d utilisateur identifie l utilisateur. close termine la connexion. quit termine la session FTP. pwd affiche le chemin complet du répertoire courant distant. cd change de répertoire courant distant. lcd change de répertoire courant local. dir liste le répertoire distant. bin demande un transfert sans conversion. get fichier transfère le fichier distant vers la machine locale. mget fichiers transfère plusieurs fichiers distants. put et mput transfèrent de la machine locale vers la machine distante. hash fait afficher un caractère # pour chaque kilo-octet transmis. prompt supprime la demande de confirmation pour chaque fichier en cas de transfert multiple.! commande permet d effectuer une commande locale. Dans Emacs, l accès par FTP à des fichiers distants se fait par la notation «magique» pour les noms de fichiers ou de répertoires : /nom d utilisateur@nom de machine:nom de fichier Si le nom d utilisateur est anonymous ou ftp, le mot de passe n est pas demandé. Toutes les possibilités d Emacs qui accèdent à des fichiers ou à des répertoires peuvent ainsi le faire en accédant à des fichiers ou répertoires distants. ncftp est un outil interactif d utilisation du protocole FTP, plus perfectionné que la commande du même nom. Il offre en particulier l indication de progression du transfert, l achèvement automatique des noms de fichier (touche TAB), la modification de la ligne de commande et la récupération des anciennes lignes (touches fléchées), le transfert de hiérarchies anciennes, etc.
3 Par défaut, le nom d utilisateur est anonymous, sinon il faut utiliser l option -u nom d utilisateur. Les commandes principales sont les mêmes que celles de ftp, mais on en trouve en plus pour les caractéristiques supplémentaires de ncftp. En fin de session, la commande propose de conserver un marque-page sur le site visité. Ce marque-page pourra servir pour une connexion ultérieure. 4 Connexion cryptée à une machine distante 4.1 Principes Le protocole SSH permet d effectuer les mêmes tâches que les commandes vues en section 1, mais de manière sécurisée : aucun mot de passe n est transmis en clair sur le réseau, et en fait la totalité des transactions est protégée par un mécanisme de cryptage (on ne peut pas décoder les informations qui cheminent sur le réseau) et d authentification (on a la garantie que la machine distante est bien celle que l on désire). Les informations d authentification des machines distantes sont conservées dans un répertoire propre à l utilisateur. L utilisation la plus simple se fait avec saisie du mot de passe sur la machine distante, mais sa transmission est cryptée : uranie( )127: ssh olecarme.homelinux.net Warning: Permanently added the RSA host key for IP address 81.48.79.94 to the list of known hosts. ol@olecarme.homelinux.net s password: Linux debian 2.4.20 #12 sam mar 29 15:31:38 CET 2003 i686 GNU/Linux You have mail. Last login: Sat Nov 8 15:19:04 2003 from hivaoa.unice.fr Linux debian 2.4.20 #12 sam mar 29 15:31:38 CET 2003 i686 GNU/Linux 12:15:47 up 7 days, 17 :44, 12 users, load average: 0.38, 0.45, 0.46 12:15 ol@debian % 4.2 Connexion sans mot de passe On peut aussi configurer les choses pour éviter la transmission du mot de passe. Une fois le travail initial effectué, les connexions sont extrêmement simples mais restent convenablement sécurisées. Le principe repose sur le fait que les deux machines à connecter se font réciproquement confiance, grâce à leur identification par clé publique. Si on veut établir une connexion sur la machine B depuis la machine A, il faut placer sur B la clé de confiance de A. Pour cela, on fait produire sur A une paire de clés, dont l une restera secrète : ssh-keygen -t rsa On répond oui à la proposition de ranger la clé dans /.ssh/id_rsa.pub, et on ne fournit pas de phrase de passe (qui est un mot de passe beaucoup plus long, et par conséquent beaucoup plus fastidieux à taper). On peut alors copier cette clé publique, depuis la machine A vers le fichier /.ssh/authorized_keys de la machine B. Ce dernier fichier accumule les clés de ce type, et doit en lecture et écriture uniquement pour le propriétaire. 4.3 Connexion X cryptée Pour pouvoir lancer des clients X sur la machine distante et pour autant voir leur affichage sur votre propre terminal, le mieux est d utiliser l option -X au moment de la connexion ssh ; tout se passe comme si le terminal était local à la machine distante. Cette option est souvent implicite.
4 4.4 Les commandes utilisables ssh permet d exécuter une commande distante : hivaoa( )102: ssh uranie date ol@uranie s password: dim nov 9 12:20:05 CET 2003 scp s utilise comme rcp. sftp s utilise de manière similaire à ftp. 4.5 Remarque Les serveurs anonymes n acceptent en général pas le protocole SSH : hivaoa( )109: sftp ftp.lip6.fr Connecting to ftp.lip6.fr... The authenticity of host ftp.lip6.fr (195.83.118.1) can t be established. RSA key fingerprint is 3e:f5:73:9c:52:cb:23:77:da:57:ee:81:9a:54:fa:0f. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ftp.lip6.fr,195.83.118.1 (RSA) to the list of known hosts. ol@ftp.lip6.fr s password: Permission denied, please try again. Permission denied (publickey,password,keyboard-interactive). Connection closed hivaoa( )111: sftp anonymous@ftp.lip6.fr Connecting to ftp.lip6.fr... anonymous@ftp.lip6.fr s password: Permission denied, please try again. Pour plus de détails, voir le site http://www-sop.inria.fr/semir/securite/ssh/ 5 Communication par le protocole HTTP 5.1 Navigateurs Pour visualiser les pages HTML (HyperText Markup Language), on utilise un navigateur (browser ou butineur pour nos amis Canadiens). Il en existe un bon nombre : LYNX, qui est un navigateur textuel, avec tous les avantages et inconvénients de cette propriété. EMACS et son mode w3. AMAYA, qui est développé par le W3C, consortium qui élabore les normes liés au web, et sert plus à construire des pages qu à les visualiser. MOZILLA, qui est le navigateur le plus utilisé sous Unix car il fait partie du logiciel libre ; il est souvent avec une sur-couche personnalisée et simplifiée telle que GALEON, EPIPHANY, etc., ou avec sa sur-couche officielle FIREFOX, disponible également sous Windows et MacOS. NETSCAPE, une sur-couche commerciale de MOZILLA, disponible aussi sous Windows et MacOS. INTERNET EXPLORER, qui est l un des navigateurs les plus utilisés sous Windows (et disponible sur MacOS) ; il n est absolument pas libre, et de plus il ne respecte pas une bonne partie des normes concernant le protocole HTTP, le langage HTML, les codages d images, etc.
5 OPERA, navigateur commercial disponible sous Windows, GNU/Linux, MacOS, dont le principal inconvénient, en plus de n être pas libre, est de forcer à avoir un bandeau publicitaire si l on ne désire par l acheter. KONQUEROR, le navigateur de l environnement de bureau KDE, n utilise normalement pas le moteur de MOZILLA. etc. 5.2 Forme générale d une URL (uniform resource locator). protocole://hôte[:port][/chemin/fichier] où protocole peut être http, mailto, ftp, file, gopher, wais, news, telnet, etc. Attention à l utilisation des majuscules et minuscules : dans les parties protocole et hôte, majuscules et minuscules sont équivalentes, comme dans une adresse électronique. Dans les parties chemin et fichier, au contraire, elles sont distinctes, comme dans un chemin de Unix. 5.3 Balises principales d HTML La forme générale d un document est : <html> <head> Titre de la page </head> <body> Corps du document </body> </html> Les blancs et passages à la ligne sont sans signification. La présentation de la page n est jamais déterminée par celle de son texte source. Les balises peuvent contenir des mots-clés avec valeur : bgcolor="couleur de fond" fgcolor="couleur d écriture" align="contrainte d alignement" (utiliser en particulier la contrainte center) etc. Même les nombres doivent être placés entre guillemets ". La figure 1 page suivante montre les balises principales, accompagnées de la manière de les introduire dans le mode HTML-helper d EMACS. Chaque balise de début se termine par son correspondant de fin, spécialement si l on veut respecter les spécifications de XHTML. Pour les balises uniques, le caractère / est placé en fin de balise. Quand EMACS insère une balise symétrique, il insère aussi la balise de fin et place le curseur entre les deux. Quand on crée grâce à EMACS un fichier HTML vide, le mode HTML-helper l initialise avec le contenu suivant : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-15"> <title></title> </head> <body> <h1></h1>
6 Balise Commande Signification <h1> C-c M-h 1 titre de niveau 1 <h2> C-c M-h 2 titre de niveau 2 <h3> C-c M-h 3 titre de niveau 3 <p> M-RET Paragraphe <br/> C-c RET passage à la ligne <hr/> C-c = trait horizontal <ol> C-c C-l o liste numérotée <ul> C-c C-l u liste non numérotée <li> C-c C-l l élement de liste <table> C-c C-t t tableau <th> C-c C-t h en-tête de tableau <tr> C-c C-t r ligne de tableau <td> C-c C-t d case de tableau <a name=> C-c C-a n marque nommée <a href=> C-c C-a l lien <img src=> C-c C-i a image <b> C-c C-p b gras <i> C-c C-p i italique <i> C-c C-p u souligné FIG. 1 Balises principales en HTML <hr> <address></address> <!- hhmts start -><!- hhmts end -> </body> </html> Dans l avant-dernière ligne, EMACS met systématiquement à jour la date de dernière modification à chaque sauvegarde.