Chapitre 6. Applications réseau

Table des matières

6.1. Navigateurs Web
6.1.1. Configuration du navigateur
6.2. Le système de courrier électronique
6.2.1. Bases du service de courrier électronique moderne
6.2.2. Stratégie de configuration du courrier électronique pour une station de travail
6.3. Agent de transport de courrier électronique (« MTA »)
6.3.1. Configuration d'exim4
6.3.2. Configuration de postfix avec SASL
6.3.3. Configuration de l'adresse de courriel
6.3.4. Opération de base du MTA
6.4. Agent de courrier électronique de l'utilisateur (« MUA »)
6.4.1. Le MUA de base — Mutt
6.5. Utilitaire de récupération et de rediffusion du courriel distant
6.5.1. configuration de getmail
6.5.2. configuration de fetchmail
6.6. Agent de distribution du courriel (MDA) avec filtre
6.6.1. configuration de maildrop
6.6.2. configuration de procmail
6.6.3. Redistribuer le contenu d'une « mbox »
6.7. serveur POP3/IMAP4
6.8. Le serveur et les utilitaires d'impression
6.9. Le serveur et les utilitaires d'accès à distance (SSH)
6.9.1. Bases de SSH
6.9.2. Redirection de port pour un tunnel SMTP/POP3
6.9.3. Se connecter sans mot de passe distant
6.9.4. Clients SSH exotiques
6.9.5. Configurer ssh-agent
6.9.6. Comment arrêter le système distant par SSH
6.9.7. Résoudre les problèmes avec SSH
6.10. Autres serveurs d'applications réseau
6.11. Autres clients d'applications réseau
6.12. Le diagnostic des démons du système

Après avoir établi une connexion réseau (voir Chapitre 5, Configuration du réseau), vous pouvez faire tourner diverses applications réseau.

6.1. Navigateurs Web

Il y a de nombreux paquets de navigateurs web permettant d'accéder à des contenus distants avec le protocole de transfert hypertexte (« Hypertext Transfer Protocol (HTTP) »).

Tableau 6.1. Liste de navigateurs web

paquet popcon taille type description du navigateur web
iceweasel * V:32, I:50 3820 X Mozilla Firefox démarqué
iceape-browser * V:1.6, I:2 36440 , , Mozilla, supprimé en raisons de problèmes de sécurité bug#505565
epiphany-browser * V:13, I:35 1001 , , GNOME, Epiphany respectant HIG
galeon * V:1.0, I:1.6 1776 , , GNOME, Galeon, remplacé par Epiphany
konqueror * V:9, I:17 3328 , , KDE, Konqueror
w3m * V:27, I:84 1856 texte w3m
lynx * I:23 248 , , Lynx
elinks * V:2, I:6 1448 , , ELinks
links * V:3, I:9 1360 , , Links (texte uniquement)
links2 * V:0.8, I:3 3264 graphiques Links (graphique en mode console sans X)

6.1.1. Configuration du navigateur

Vous pouvez utiliser les chaînes d'URL spéciales suivantes pour confirmer le paramétrage de certain navigateurs :

  • « about: »
  • « about:config »
  • « about:plugins »

Debian propose de nombreux paquets de greffons libres pour les navigateurs dans la composante main qui peuvent gérer non seulement Java (plateforme logicielle) et Flash mais aussi les fichier MPEG, MPEG2, MPEG4, DivX, Windows Media Video (.wmv), QuickTime (.mov), MP3 (.mp3), Ogg/Vorbis, les DVD, VCD, etc. Debian propose aussi des paquets de programmes facilitant l'installation de greffons non libres pour les navigateurs dans les composantes contrib ou non-free.

Tableau 6.2. Liste des paquets de greffons pour les navigateurs

paquet popcon taille composante description
icedtea6-plugin * V:0.8, I:1.2 272 main Java plugin based on OpenJDK and IcedTea
sun-java6-plugin * I:10 100 non-free greffon Java pour Java SE 6 de Sun (uniquement pour i386)
mozilla-plugin-gnash * V:1.4, I:5 164 main greffon Flash basé sur Gnash
flashplugin-nonfree * V:1.5, I:15 132 contrib assistant à l'installation du greffon Flash pour installer le lecteur Flash d'Adobe (i386 et amd64 uniquement)
mozilla-plugin-vlc * V:3, I:4 144 main greffon multimédia basé sur VLC media player
totem-mozilla * V:19, I:35 544 main greffon multimédia basé sur Totem media player de GNOME
gecko-mediaplayer * V:0.5, I:0.6 724 main greffon multimédia basé sur (GNOME) MPlayer
nspluginwrapper * V:0.9, I:1.9 472 contrib un « enrobeur » permettant de faire tourner les greffons i386 de Netscape sur une architecture amd64

[Astuce] Astuce

Bien que l'utilisation des paquets Debian ci-dessus soit plus facile, il est toujours possible d'installer vous-même des greffons de navigateur en installant les fichiers « *.so » dans les répertoires de greffons, (par exemple, « /usr/lib/iceweasel/plugins/ ») et en redémarrant le navigateur.

Certains sites web refusent les connexions en se basant sur la chaîne « user-agent » de votre navigateur. Vous pouvez contourner cette situation en usurpant la chaîne user-agent. Vous pouvez le faire, par exemple, en ajoutant la ligne suivante dans les fichiers de configuration de l'utilisateur tels que « ~/.gnome2/epiphany/mozilla/epiphany/user.js » ou « ~/.mozilla/firefox/*.default/user.js » :

user_pref{"general.useragent.override","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"};

Vous pouvez aussi ajouter et réinitialiser cette variable en entrant l'URL « about:config » et en faisant un clic-droit pour afficher son contenu.

[Attention] Attention

Usurper la chaîne user-agent peut provoquer de mauvais effets de bord avec Java.

6.2. Le système de courrier électronique

[Attention] Attention

Si vous êtes sur le point de configurer le serveur de courrier pour échanger directement du courrier avec Internet, vous feriez mieux de lire ce document élémentaire.

[Note] Note

The following configuration examples are only valid for the typical mobile workstation on consumer grade Internet connections.

6.2.1. Bases du service de courrier électronique moderne

De manière à limiter les problèmes de spam (courriels non désirés et non sollicités), de nombreux fournisseurs d'accès à Internet qui fournissent une connexion Internet pour le grand public mettent en place des contre-mesures.

  • Le service smarthost pour l'envoi des messages de leurs clients utilise le port (587) défini dans la rfc4409 avec le service de mot de passe (SMTP AUTH) défini dans la rfc4954.
  • La connexion sur le port SMTP (25) depuis les machines de leur réseau interne (à l'exception de la sortie propre aux serveurs du FAI lui-même) vers Internet est bloquée.
  • La connexion au serveur de courrier entrant du FAI sur le port SMTP (25) depuis certaines machines d'une source externe douteuse est bloquée. (La connexion des machines dans la plage d'adresses IP dynamiques utilisée par les client du réseau commuté ou d'autres connexions Internet grand public sont les premières à être bloquées).

Lors de la configuration de votre système de courrier électronique, ou lors de la résolution de problèmes de diffusion de courrier, vous devez tenir compte de ces nouvelles limitations.

À la lumière de cette situation hostile d'Internet, certains fournisseurs de service de courrier électronique comme Yahoo.com et Gmail.com offrent un service de courrier électronique sécurisé que l'on peut connecter depuis n'importe où sur Internet en utilisant Transport Layer Security (TLS) et sont prédécesseur, Secure Sockets Layer (SSL).

  • Le service de smarthost pour que leurs clients puissent envoyer leurs messages utilise le port SMTP/SSL (465) ou le port de soumission de messages (587) avec mot de passe (service SMTP AUTH).
  • Le courrier électronique entrant est accessible par le port TLS/POP3 (995) par POP3.
[Attention] Attention

Il n'est pas réaliste de mettre en œuvre un serveur SMTP sur un réseau grand-public pour envoyer de manière fiable le courrier électronique directement vers une machine distante.. Il sera probablement rejeté. Vous devez utiliser les services de smarthost services offerts par votre fournisseur d'accès ou par un fournisseur de courrier électronique indépendant. Pour faire simple, je supposerai, dans le texte qui suit, que le smarthost situé à « smtp.hostname.dom », exige SMTP AUTH, et utilise le port de soumission de messages (587).

6.2.2. Stratégie de configuration du courrier électronique pour une station de travail

La configuration de courrier électronique la plus simple est que le courrier électronique soit émis vers le smarthost du fournisseur d'accès et reçu du serveur POP3 de ce fournisseur d'accès par le MUA (voir Section 6.4, « Agent de courrier électronique de l'utilisateur (« MUA ») ») lui-même. Ce type de configuration est courant avec les MUA entièrement basés sur une interface graphique tels que icedove(1), evolution(1), etc. Si vous devez filtrer le courriel selon son type, vous utiliserez les fonctions de filtrage du MUA. Dans ce cas, l'agent de transport du courrier (MTA) local (voir Section 6.3, « Agent de transport de courrier électronique (« MTA ») ») n'aura que la distribution locale à effectuer.

The alternative mail configuration is that the mail is sent via local MTA to the ISP's smarthost and received from ISP's POP3 by the mail retriever (see Section 6.5, « Utilitaire de récupération et de rediffusion du courriel distant ») to the local mailbox. If you need to filter mail by their types, you use MDA with filter (see Section 6.6, « Agent de distribution du courriel (MDA) avec filtre ») to filter mail into separate mailboxes. This type of configuration is popular with simple console based MUA such as mutt(1), gnus(1), etc., although this is possible with any MUAs (see Section 6.4, « Agent de courrier électronique de l'utilisateur (« MUA ») »). For this case, the local MTA (see Section 6.3, « Agent de transport de courrier électronique (« MTA ») ») need to do both smarthost delivery and local delivery. Since mobile workstation does not have valid FQDN, you must configure the local MTA to hide and spoof the real local mail name in outgoing mail to avoid mail delivery errors (see Section 6.3.3, « Configuration de l'adresse de courriel »).

[Astuce] Astuce

You may wish to configure MUA/MDA to use Maildir for storing email messages somewhere under your home directory.

6.3. Agent de transport de courrier électronique (« MTA »)

Pour une station de travail normale le choix habituel pour l'agent de transport du courrier électronique (MTA) est soit le paquet exim4-*, soit postfix. C’est vraiment laissé à votre choix.

Tableau 6.3. Liste des paquets liés à l'agent de transport du courrier pour une station de travail

paquet popcon taille description
exim4-daemon-light * V:60, I:66 1016 Agent de transport de courrier électronique Exim4 (MTA : par défaut de Debian)
exim4-base * V:62, I:68 1688 Documentation d'Exim4 (texte) et fichiers communs
exim4-doc-html * I:0.7 3452 Documentation d'Exim4 (html)
exim4-doc-info * I:0.4 556 Documentation d'Exim4 (info)
postfix * V:17, I:20 3488 Agent de transport de courrier électronique Postfix (MTA : remplacement)
postfix-doc * I:2 3420 Documentation de Postfix (html+texte)
sasl2-bin * V:2, I:5 448 Implémentation de l'API Cyrus SASL (complément à postfix pour SMTP AUTH)
cyrus-sasl2-doc * I:2 284 Cyrus SASL - documentation

Bien que le nombre de votes popcon d'exim4-* semble plusieurs fois plus populaire que celui de postfix, ceci ne signifie pas que postfix n'est pas populaire avec les développeurs de Debian. Le système de serveur de Debian utiliser à la fois exim4 et postfix. L'analyse des en-tête de courriels des envois vers les listes de diffusion par les développeurs principaux de Debian montrent aussi que ces deux MTA ont la même popularité.

Les paquets exim4-* sont connus pour consommer très peut de mémoire et d'avoir une configuration très souple. Le paquet postfix est connu pour être compact, rapide, simple et sûr. Les deux sont livrés avec une large documentation, sont d'aussi bonne qualité et ont une aussi bonne licence.

Il existe dans l'archive Debian de nombreux choix pour les paquets d'agents de transport du courrier électronique (MTA) avec des possibilités et des objectifs différents.

Tableau 6.4. Liste des choix de paquets Debian d'agent de transport du courrier électronique (MTA)

paquet popcon taille possibilités et objectif
exim4-daemon-light * V:60, I:66 1016 complète
postfix * V:17, I:20 3488 complète (sécurité)
exim4-daemon-heavy * V:1.8, I:2 1132 complète (souple)
sendmail-bin * V:2, I:2 1908 complète (uniquement lorsque vous serez déjà familiarisé)
nullmailer * V:0.6, I:0.8 436 limitée, pas de courrier local
ssmtp * V:1.2, I:1.7 0 limitée, pas de courrier local
courier-mta * V:0.16, I:0.18 12316 très complète (interface web, etc.)
xmail * V:0.15, I:0.2 836 légère
masqmail * V:0.03, I:0.05 464 légère
esmtp * V:0.10, I:0.2 172 légère
esmtp-run * V:0.08, I:0.13 64 légère (extension de compatibilité avec sendmail vers esmtp)
msmtp * V:0.3, I:0.7 336 légère
msmtp-mta * V:0.11, I:0.14 32 légère (extension de compatibilité avec sendmail vers msmtp)

6.3.1. Configuration d'exim4

Pour le courrier d'Internet par l'intermédiaire d'un smarthost, vous (re)configurerez les paquets exim4-* comme suit :

$ sudo /etc/init.d/exim4 stop
$ sudo dpkg-reconfigure exim4-config

Select "mail sent by smarthost; received via SMTP or fetchmail" for "General type of mail configuration".

Set "System mail name:" to its default as the FQDN (see Section 5.1.2, « Résolution du nom d'hôte »).

Set "IP-addresses to listen on for incoming SMTP connections:" to its default as "127.0.0.1 ; ::1".

Unset contents of "Other destinations for which mail is accepted:".

Unset contents of "Machines to relay mail for:".

Définir « Nom réseau ou adresse IP du système « smarthost » à « smtp.hostname.dom:587 ».

Select "<No>" for "Hide local mail name in outgoing mail?". (Use "/etc/email-addresses" as in Section 6.3.3, « Configuration de l'adresse de courriel », instead.)

Donner à « Faut-il optimiser les requêtes DNS (connexion à la demande)) ? » l'une des réponses suivantes :

  • « Non » si le système est connecté à Internet au démarrage.
  • « Oui » so le système n'est pas connecté à Internet au démarrage.

Set "Delivery method for local mail:" to "mbox format in /var/mail/".

Select "<Yes>" for "Split configuration into small files?:".

Créer les entrées de mots de passe pour le smarthost en éditant « /etc/exim4/passwd.client »

$ sudo vim /etc/exim4/passwd.client
 ...
$ cat /etc/exim4/passwd.client
^smtp.*\.nommachine\.dom:nomutilisateur@nommachine.dom:motdepasse

Lancer exim4 par la commande suivante :

$ sudo /etc/init.d/exim4 start

Le nom de machine dans « /etc/exim4/passwd.client » ne doit pas être un alias. Vérifiez le nom de machine réel comme suit :

$ host smtp.hostname.dom
smtp.hostname.dom is an alias for smtp99.hostname.dom.
smtp99.hostname.dom has address 123.234.123.89

J'utilise une expression rationnelle dans « /etc/exim4/passwd.client » pour contourner le problème d'alias. SMTP AUTH fonctionne probablement même dans le cas où le FAI déplace la machine pointée par l'alias.

[Attention] Attention

Vous devez exécuter update-exim4.conf(8) après avoir mis à jour manuellement les fichiers de configuration exim4 se trouvant dans « /etc/exim4/ ».

[Attention] Attention

Le lancement d'exim4 est long si on a choisi « Non » (valeur par défaut) à la demande « Faut-il optimiser les requêtes DNS (connexion à la demande) ? » lors de la configuration debconf et que le système n'est pas connecté à Internet lors du démarrage.

[Note] Note

Veuillez lire le guide officiel se trouvant à « /usr/share/doc/exim4-base/README.Debian.gz » et update-exim4.conf(8).

[Astuce] Astuce

Le fichier de personnalisation local « /etc/exim4/exim4.conf.localmacros » peut être créé pour définir les MACROs. Par exemple, le service de courrier électronique de Yahoo requiert « MAIN_TLS_ENABLE = true » et « AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS = yes ».

[Astuce] Astuce

If you are looking for a light weight MTA that respects "/etc/aliases" for your laptop PC, you should consider to configure exim4(8) with "QUEUERUNNER='queueonly'", "QUEUERUNNER='nodaemon'", etc. in "/etc/default/exim4".

6.3.2. Configuration de postfix avec SASL

Pour utiliser le courrier électronique d'Internet par l'intermédiaire d'un smarthost, vous devrez d'abord lire la documentation postfix et les pages de manuel importantes.

Tableau 6.5. Liste des pages de manuel importantes de postfix

commande fonction
postfix(1) Programme de contrôle de postfix
postconf(1) Utilitaire de configuration de postfix
postconf(5) Paramètres de configuration de postfix
postmap(1) Maintenance des table de consultation de postfix
postalias(1) Maintenance de la base de données des alias de postfix

Vous (re)configurez les paquets postfix et sasl2-bin comme suit :

$ sudo /etc/init.d/postfix stop
$ sudo dpkg-reconfigure postfix

Choisir « Internet avec smarthost ».

Définissez « machine de relais SMTP (blanc pour aucun): » à « [smtp.hostname.dom]:587 » et configurez-le de la manière suivante :

$ sudo postconf -e 'smtp_sender_dependent_authentication = yes'
$ sudo postconf -e 'smtp_sasl_auth_enable = yes'
$ sudo postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'
$ sudo postconf -e 'smtp_sasl_type = cyrus'
$ sudo vim /etc/postfix/sasl_passwd

Créez les entrées de mots de passe pour le smarthost

$ cat /etc/postfix/sasl_passwd
[smtp.hostname.dom]:587     nomutilisateur:motdepasse
$ sudo postmap hush:/etc/postfix/sasl_passwd

Lancez postfix comme suit :

$ sudo /etc/init.d/postfix start

Ici, l'utilisation de « [ » et « ] » dans le dialogue de dpkg-reconfigure et « /etc/postfix/sasl_passwd » permet de s'assurer de ne pas vérifier l'enregistrement MX mais d'utiliser directement le nom exact de la machine indiquée. Voir « Enabling SASL authentication in the Postfix SMTP client » dans « usr/share/doc/postfix/html/SASL_README.html ».

6.3.3. Configuration de l'adresse de courriel

Il existe plusieurs fichiers de configuration de l'adresse de courriel pour l'acheminement du courriel, sa diffusion et les agents d'utilisateur.

Tableau 6.6. Liste des fichiers de configuration liés aux adresses de courriel

fichier fonction application
/etc/mailname nom de machine par défaut pour le courrier (sortant) Spécifique à Debian, mailname(5)
/etc/email-addresses usurpation du nom de machine pour le courriel sortant Spécifique à exim(8), exim4-config_files(5)
/etc/postfix/generic usurpation du nom de machine pour le courriel sortant Spécifique à postfix(1) specific, activé après l'exécution de la commande postmap(1).
/etc/aliases alias du nom de compte pour le courrier entrant général, activé après l'exécution de la commande newaliases(1).

Le nom de courriel ( mailname » dans le fichier « /etc/mailname » est habituellement un nom de domaine entièrement qualifié (FQDN) qui est résolu vers l'une des adresses IP de la machine. Pour les stations de travail mobiles qui n'ont pas de nom de machine pouvant être résolu par une adresse IP, définissez ce mailname à la valeur donnée par « hostname -f ». (C'est un choix sûr et qui fonctionne à la fois avec exim4-* et postfix.)

[Astuce] Astuce

Le contenu de « /etc/mailname » est utilisé par de nombreux programmes autres que les MTA pour définir leur comportement par défaut. Pour mutt, définissezles variables « hostname » et « from » dans le fichier ~/muttrc pour passer outre la valeur de mailname. Pour les programmes du paquets devscripts, comme bts(1) et dch(1), exportez les variables d'environnement « $DEBFULLNAME » et « $DEBEMAIL » afin de passer outre cette définition.

Lors de la définition de mailname avec la valeur donnée par « hostname -f », l'usurpation de l'adresse source du courrier par le MTA peut être réalisée par l'intermédiaire :

  • du fichier « /etc/email-addresses » pourexim4(8) comme expliqué dans exim4-config_files(5)
  • du fichier « /etc/postfix/generic » pour postfix(1) comme expliqué dans generic(5)

Pour postfix, les étapes suivantes sont nécessaires :

# postmap hash:/etc/postfix/generic
# postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic'
# postfix reload

You can test mail address configuration using the following.

  • exim(8) avec les options -brw, -bf, -bF, -bV, …
  • postmap(1) avec l'option -q
[Astuce] Astuce

Il existe, avec Exim, un certain nombre de programmes utilitaires tels qu'exiqgrep(8) et exipick(8). Voir « dpkg -L exim4-base|grep man8/ » pour les commandes disponibles.

6.3.4. Opération de base du MTA

Il y a quelques opérations de base du MTA. Certaines peuvent être effectuées à l'aide de l'interface de compatibilité avec sendmail(1).

Tableau 6.7. Liste des opération de base du MTA

commande exim commande postfix description
sendmail sendmail lire les courriels depuis l'entrée standard et les classer pour la diffusion (-bm)
mailq mailq afficher la file d'attente des courriels avec leur état et leur identifiant de file d'attente (« queue ID ») (-bp)
newaliases newaliases initialiser la base de données des alias (-I)
exim4 -q postqueue -f supprimer les courriels en attente (-q)
exim4 -qf postsuper -r ALL deferred; postqueue -f supprimer tous les courriels
exim4 -qff postsuper -r ALL; postqueue -f supprimer tous les courriels gelés
exim4 -Mg queue_id postsuper -h queue_id geler un message d'après son identifiant de file d'attente
exim4 -Mrm queue_id postsuper -d queue_id supprimer un message d'après son identifiant de file d'attente
N/A postsuper -d ALL supprimer tous les messages.

[Astuce] Astuce

Ce peut être une bonne idée de supprimer tous les messages à l'aide d'un script placé dans « /etc/ppp/ip-up.d/* ».

6.4. Agent de courrier électronique de l'utilisateur (« MUA »)

Si vous vous abonnez à une liste de diffusion relative à Debian, ce peut être une bonne idée d'utiliser un MUA tel que mutt ou gnus qui sont le standard de fait pour le participant et sont connus pour se comporter comme on le souhaite.

Tableau 6.8. Liste d'agents de courrier électronique de l'utilisateur (MUA)

paquet popcon taille type
iceweasel * V:32, I:50 3820 programme X avec une interface graphique (version démarquée de Mozilla Firefox)
evolution * V:21, I:35 4724 programme X avec une interface graphique (fait partie d'une suite « groupware »)
icedove * V:9, I:13 38884 programme X avec une interface graphique (version démarquée de Mozilla Thunderbird)
mutt * V:25, I:83 6004 programme de terminal en mode caractère, probablement utilisé avec vim
gnus * V:0.03, I:0.4 6453 programme de terminal en mode caractères sous (x)emacs

6.4.1. Le MUA de base — Mutt

Configurez « ~/.muttrc » comme suit afin d'utiliser mutt comme agent utilisateur de courrier électronique (MUA) en conjonction avec vim.

#
# User configuration file to override /etc/Muttrc
#
# spoof source mail address
set use_from
set hostname=example.dom
set from="Name Surname <username@example.dom>"
set signature="~/.signature"

# vim: "gq" to reformat quotes
set editor="vim -c 'set tw=72 et ft=mail'"

# "mutt" goes to Inbox, while "mutt -y" lists mailboxes
set mbox_type=Maildir           # use qmail Maildir format for creating mbox
set mbox=~/Mail                 # keep all mail boxes in $HOME/Mail/
set spoolfile=+Inbox            # mail delivered to $HOME/Mail/Inbox
set record=+Outbox              # save fcc mail to $HOME/Mail/Outbox
set postponed=+Postponed        # keep postponed in $HOME/Mail/postponed
set move=no                     # do not move Inbox items to mbox
set quit=ask-yes                # do not quit by "q" only
set delete=yes                  # always delete w/o asking while exiting
set fcc_clear                   # store fcc as non encrypted

# Mailboxes in Maildir (automatic update)
mailboxes `cd ~/Mail; /bin/ls -1|sed -e 's/^/+/' | tr "\n" " "`
unmailboxes Maillog *.ev-summary

## Default
#set index_format="%4C %Z %{%b %d} %-15.15L (%4l) %s"
## Thread index with senders (collapse)
set index_format="%4C %Z %{%b %d} %-15.15n %?M?(#%03M)&(%4l)? %s"

## Default
#set folder_format="%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
## just folder names
set folder_format="%2C %t %N %f"

Ajoutez ce qui suit dans « /etc/mailcap » ou « ~/.mailcap » afin d'afficher le courriel en HTML et les attachements en ligne de documents MS Word.

text/html; lynx -force_html %s; needsterminal;
application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
[Astuce] Astuce

Mutt can be used as the IMAP client and the mailbox format converter. You can tag messages with "t", "T", etc. These tagged messages can be copied with ";C" between different mailboxes and deleted with ";d" in one action.

6.5. Utilitaire de récupération et de rediffusion du courriel distant

Bien que fetchmail(1) ait été le standard de fait pour la récupération du courriel sur GNU/Linux, l'auteur préfère maintenant getmail(1). Si vous désirez rejeter du courriel avant de le télécharger pour économiser de la bande passante, mailfilter ou mpop peuvent être utiles. Quelques soient les utilitaires de récupération du courrier électronique utilisés, c'est une bonne idée de configurer le système afin de diffuser les courriels récupérés à un MDA, tel que maildrop, par l'intermédiaire d'un tube.

Tableau 6.9. Listes des utilitaires de récupération et de rediffusion du courriel

paquet popcon taille description
fetchmail * V:2, I:6 2560 récupération du courriel (POP3, APOP, IMAP) (ancien)
getmail4 * V:0.3, I:0.8 660 récupération du courriel (POP3, IMAP4 et SDPS) (simple, sûr et fiable)
mailfilter * V:0.01, I:0.06 332 récupération du courriel (POP3) avec une possibilité de filtrage par expressions rationnelles
mpop * V:0.02, I:0.08 316 récupération du courriel (POP3) et MDA avec possibilité de filtrage

6.5.1. configuration de getmail

La configuration de getmail(1) est décrite dans la documentation de getmail. voici ma configuration permettant l'accès à plusieurs comptes POP3 en tant qu'utilisateur.

Créez « /usr/local/bin/getmails » comme suit :

#!/bin/sh
set -e
if [ -f $HOME/.getmail/running ]; then
  echo "getmail is already running ... (if not, remove $HOME/.getmail/running)" >&2
  pgrep -l "getmai[l]"
  exit 1
else
  echo "getmail has not been running ... " >&2
fi
if [ -f $HOME/.getmail/stop ]; then
  echo "do not run getmail ... (if not, remove $HOME/.getmail/stop)" >&2
  exit
fi
if [ "x$1" = "x-l" ]; then
  exit
fi
rcfiles="/usr/bin/getmail"
for file in $HOME/.getmail/config/* ; do
  rcfiles="$rcfiles --rcfile $file"
done
date -u > $HOME/.getmail/running
eval "$rcfiles $@"
rm $HOME/.getmail/running

Configurez-le comme suit :

$ sudo chmod 755 /usr/local/bin/getmails
$ mkdir -m 0700 $HOME/.getmail
$ mkdir -m 0700 $HOME/.getmail/config
$ mkdir -m 0700 $HOME/.getmail/log

Créez les fichiers de configuration « $HOME/.getmail/config/pop3_name« » pour chacun des comptes POP3 comme suit :

[retriever]
type = SimplePOP3SSLRetriever
server = pop.exemple.com
username =  nom_pop3@exemple.com
password = secret

[destination]
type = MDA_external
path = /usr/bin/maildrop
unixfrom = True

[options]
verbose = 0
delete = True
delivered_to = False
message_log = ~/.getmail/log/nom_pop3.log

Configurez-le comme suit :

$ chmod 0600 $HOME/.getmail/config/*

Programmez « /usr/local/bin/getmails » pour qu'il soit lancé toutes les 15 minutes avec cron(8) en exécutant « sudo crontab -e -u <nom_utilisateur> » et en ajoutant l'entrée cron de l'utilisateur suivante :

5,20,35,50 * * * * /usr/local/bin/getmails --quiet
[Astuce] Astuce

Les problèmes d'accès POP3 peuvent ne pas venir de getmail. Certains services POP3 gratuits courants violent le protocole POP3 et leur filtre de SPAM peut ne pas être parfait. Par exemple, ils peuvent effacer les messages juste après la commande RETR et avant de recevoir la commande DELE et peuvent mettre en quarantaines des messages dans la boîte à lettres des Spam. Vous pourrez minimiser les dommages en les configurant de manière à archiver les messages ayant été accédés et non de les supprimer. Voir aussi « Certains courriels n'ont pas été téléchargés ».

6.5.2. configuration de fetchmail

La configuration de fetchmail(1) est effectuée par l'intermédiaire de « /etc/default/fetchmail », « /etc/fetchmailrc » et « $HOME/.fetchmailrc ». Voir les exemples dans « /usr/share/doc/fetchmail/examples/fetchmailrc.example ».

6.6. Agent de distribution du courriel (MDA) avec filtre

La plupart des programmes de MTA tels que postfix et exim4 fonctionnent comme des MDA (agent de distribution du courriel, « mail delivery agent »). Il existe des MDA spécialisés ayant des possibilités de filtrage.

Bien que procmail(1) ait été le standard de fait comme MDA sous GNU/Linux, l'auteur préfère maintenant maildrop(1). Quelque soit l'utilitaire de filtrage utilisé, c'est une bonne idée que de configurer le système pour distribuer le courriel filtrée vers une Maildir de style qmail.

Tableau 6.10. Liste de MDA avec filtrage

paquet popcon taille description
procmail * V:17, I:84 368 MDA avec filtrage (ancien)
mailagent * V:0.4, I:5 1692 MDA avec filtre en Perl
maildrop * V:0.3, I:0.8 1000 MDA avec langage de filtrage structuré

6.6.1. configuration de maildrop

la configuration de maildrop(1) est décrite dans la documentation de maildropfilter. Voici un exemple de configuration pour « $HOME/.mailfilter » :

# Local configuration
MAILROOT="$HOME/Mail"
# set this to /etc/mailname contents
MAILHOST="example.dom"
logfile $HOME/.maildroplog

# rules are made to override the earlier value by the later one.

# mailing list mails ?
if (     /^Precedence:.*list/:h || /^Precedence:.*bulk/:h )
{
    # rules for mailing list mails
    # default mailbox for mails from mailing list
    MAILBOX="Inbox-list"
    # default mailbox for mails from debian.org
    if ( /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h )
    {
        MAILBOX="service.debian.org"
    }
    # default mailbox for mails from bugs.debian.org (BTS)
    if ( /^(Sender|Resent-From|Resent-sender): .*@bugs.debian.org/:h )
    {
        MAILBOX="bugs.debian.org"
    }
    # mailbox for each properly maintained mailing list with "List-Id: foo" or "List-Id: ...<foo.bar>"
    if ( /^List-Id: ([^<]*<)?([^<>]*)>?/:h )
    {
        MAILBOX="$MATCH2"
    }
}
else
{
    # rules for non-mailing list mails
    # default incoming box
    MAILBOX="Inbox-unusual"
    # local mails
    if ( /Envelope-to: .*@$MAILHOST/:h )
    {
        MAILBOX="Inbox-local"
    }
    # html mails (99% spams)
    if ( /DOCTYPE html/:b ||\
         /^Content-Type: text\/html/ )
    {
        MAILBOX="Inbox-html"
    }
    # blacklist rule for spams
    if ( /^X-Advertisement/:h ||\
         /^Subject:.*BUSINESS PROPOSAL/:h ||\
         /^Subject:.*URGENT.*ASISSTANCE/:h ||\
         /^Subject: *I NEED YOUR ASSISTANCE/:h )
    {
        MAILBOX="Inbox-trash"
    }
    # whitelist rule for normal mails
    if ( /^From: .*@debian.org/:h ||\
         /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h ||\
         /^Subject: .*(debian|bug|PATCH)/:h )
    {
        MAILBOX="Inbox"
    }
    # whiltelist rule for BTS related mails
    if ( /^Subject: .*Bug#.*/:h ||\
         /^(To|Cc): .*@bugs.debian.org/:h )
    {
        MAILBOX="bugs.debian.org"
    }
    # whitelist rule for getmails cron mails
    if ( /^Subject: Cron .*getmails/:h )
    {
        MAILBOX="Inbox-getmails"
    }
}

# check existance of $MAILBOX
`test -d $MAILROOT/$MAILBOX`
if ( $RETURNCODE == 1 )
{
    # create maildir mailbox for $MAILBOX
    `maildirmake $MAILROOT/$MAILBOX`
}
# deliver to maildir $MAILBOX
to "$MAILROOT/$MAILBOX/"
exit
[Avertissement] Avertissement

À l'inverse de procmail, maildrop ne crée pas automatiquement les répertoires maildir manquants. Vous devez les créer vous-même à l'avance en utilisant maildirmake(1) comme cela a été fait pour « $HOME/.mailfilter » dans l'exemple.

6.6.2. configuration de procmail

Voici une configuration similaire avec « $HOME/.procmailrc » pour procmail(1) :

MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/Inbox/
LOGFILE=$MAILDIR/Maillog
# courriel qui apparaissent clairement mauvais : les mettre dans X-trash et quitter
:0
* 1^0 ^X-Advertisement
* 1^0 ^Subject:.*BUSINESS PROPOSAL
* 1^0 ^Subject:.*URGENT.*ASISSTANCE
* 1^0 ^Subject: *I NEED YOUR ASSISTANCE
X-trash/

# Diffusion des messages des listes de diffusion
:0
* 1^0 ^Precedence:.*list
* 1^0 ^Precedence:.*bulk
* 1^0 ^List-
* 1^0 ^X-Distribution:.*bulk
{
:0
* 1^0 ^Return-path:.*debian-devel-admin@debian.or.jp
jp-debian-devel/

:0
* ^Resent-Sender.*debian-user-request@lists.debian.org
debian-user/

:0
* ^Resent-Sender.*debian-devel-request@lists.debian.org
debian-devel/

:0
* ^Resent-Sender.*debian-announce-request@lists.debian.org
debian-announce

:0
mailing-list/
}

:0
Inbox/

6.6.3. Redistribuer le contenu d'une « mbox »

Vous devrez distribuer vous-même les courriels se trouvant des les boîtes à lettres de votre répertoire personnel depuis « /var/mail/<nom_utilisateur> » si votre répertoire personnel est plein et que procmail(1) échoue. Après avoir fait de la place sur le disque dans votre répertoire personnel, lancez ce qui suit :

# /etc/init.d/${MAILDAEMON} stop
# formail -s procmail </var/mail/<nom_utilisateur>
# /etc/init.d/${MAILDAEMON} start

6.7. serveur POP3/IMAP4

Si vous voulez faire tourner un serveur privés sur votre réseau local, vous pouvez envisager de faire tourner un serveur POP3 / IMAP4 pour la distribution du courrier électronique aux clients du réseau local.

Tableau 6.11. Liste de serveurs POP3/IMAP4

paquet popcon taille type description
qpopper * V:1.1, I:4 636 POP3 serveur BSD POP3 amélioré Qualcomm
courier-pop * V:1.7, I:2 244 POP3 serveur de courriel Courier - serveur POP3 (format maildir uniquement)
ipopd * V:0.11, I:0.18 212 POP3 serveur PO2 et PO3 de l'Université de Washington
cyrus-pop3d-2.2 * V:0.19, I:0.3 852 POP3 système de courrier Cyrus (prise en charge de POP3)
xmail * V:0.15, I:0.2 836 POP3 serveur de courrier ESMTP/POP3
courier-imap * V:3, I:3 1624 IMAP serveur de courriel Courier - serveur IMAP (format maildir uniquement)
uw-imapd * V:0.8, I:4 280 IMAP serveur IMAP de l'Université de Washington
cyrus-imapd-2.2 * V:0.4, I:0.6 2632 IMAP système de courrier Cyrus (prise en charge d'IMAP)

6.8. Le serveur et les utilitaires d'impression

Sur l'ancien système « Unix-like x ; le standard était démon d'impression BSD. Comme le format d'impression standard du logiciel libre est PostScript sur les systèmes semblables à Unix, certains systèmes de filtres ont été utilisés conjointement à Ghostscript afin de permettre l'impression sur des imprimante qui ne soient pas PostScript .

Récemment, le système commun d'impression sous UNIX (« Common UNIX Printing System (CUPS) ») est devenu le nouveau standard de fait. CUPS utilise le Protocole d'impression Internet (« Internet Printing Protocol (IPP) »). IPP est maintenant pris en charge par d'autres systèmes d'exploitation comme Windows XP et Mac OS X, il est devenu le nouveau standard cross-plateforme de fait pour l'impression à distance avec des possibilités de communications bi-directionnelles.

Le format de données imprimables standard pour une application sur le système Debian est PostScript (PS) qui est un langage de description de page. Les données au format PS sont passées à l'interpréteur Ghostscript PostScript afin de produire les données imprimables spécifiques à l'imprimante. Voir Section 11.3.1, « Ghostscript ».

Grâce à la fonctionnalité d'auto-conversion dépendante du format du fichier du système CUPS, passer simplement les données à la commande lpr devrait créer la sortie imprimable souhaitée. (Dans CUPS, lpr peut être activé en installant la paquet cups-bsd).

Le système Debian possède certains paquets notables de serveurs et d'utilitaires d'impression :

Tableau 6.12. Liste des serveurs et utilitaires d'impression.

paquet popcon taille port description
lpr * V:2, I:2 440 imprimante (515) BSD lpr/lpd (démon d'impression)
lprng * V:0.7, I:1.0 2904 , , , , (Amélioré)
cups * V:34, I:44 8168 IPP (631) Serveur Internet d'impression CUPS
cups-client * V:18, I:46 496 , , commandes d'impression System V pour CUPS : lp(1), lpstat(1), lpoptions(1), cancel(1), lpmove(8), lpinfo(8), lpadmin(8), …
cups-bsd * V:8, I:41 216 , , commandes d'impression BSD pour CUPS : lpr(1), lpq(1), lprm(1), lpc(8)
cups-driver-gutenprint * V:10, I:37 1292 Non applicable pilotes d'impression pour CUPS

[Astuce] Astuce

Vous pouvez configurer le système CUPS en pointant votre navigateur web sur « http://localhost:631/ ».

6.9. Le serveur et les utilitaires d'accès à distance (SSH)

SSH, le « Secure SHell », est la manière sûre de se connecter au travers d'Internet. Une version libre de SSH, appelée OpenSSH, est disponible sous Debian sous forme des paquets openssh-client et openssh-server.

Tableau 6.13. Liste des serveurs et des utilitaires d'accès à distance

paquet popcon taille outil description
openssh-client * V:51, I:99 2208 ssh(1) client de l'interpréteur de commandes sécurisé
openssh-server * V:68, I:82 800 sshd(8) serveur de l'interpréteur de commandes sécurisé
ssh-askpass-fullscreen * V:0.08, I:0.4 92 ssh-askpass-fullscreen(1) demande à l'utilisateur une phrase de passe pour ssh-add (GNOME2)
ssh-askpass * V:0.8, I:5 156 ssh-askpass(1) demande à l'utilisateur une phrase de passe pour ssh-add (X natif)

[Attention] Attention

Voir Section 4.7.3, « Mesures de sécurité supplémentaires pour Internet » si votre serveur SSH est accessible depuis Internet.

[Astuce] Astuce

Utilisez le programme screen(1) pour qu'un processus de l'interpréteur de commandes distant survive à une interruption de la connexion (voir Section 9.1, « Le programme screen »).

6.9.1. Bases de SSH

[Avertissement] Avertissement

Il ne faut pas que « /etc/ssh/sshd_not_to_be_run » soit présent si l'on souhaite faire tourner le serveur OpenSSH.

SSH possède deux protocoles d'identification :

Tableau 6.14. Liste des protocoles et méthodes d'authentification SSH

Protocole SSH Méthode SSH description
SSH-1 « RSAAuthentication » authentification de l'utilisateur basée sur une clé d'identité RSA
, , « RhostsAuthentication » authentification de l'hôte basée sur « .rhosts » (non sûre, désactivée)
, , « RhostsRSAAuthentication » authentification de l'hôte basée sur « .rhosts » combinée avec clé d'hôte RSA (désactivée)
, , « ChallengeResponseAuthentication » authentification par « challenge-response » RSA
, , « PasswordAuthentication » authentification basée sur un mot de passe
SSH-2 « PubkeyAuthentication » authentification de l'utilisateur basée sur une clé publique
, , « HostbasedAuthentication » authentification de la machine basée sur « ~/.rhosts » ou « /etc/hosts.equiv » combiné une authentification par la clé publique de la machine (désactivée)
, , « ChallengeResponseAuthentication » authentification par « challenge-response »
, , « PasswordAuthentication » authentification basée sur un mot de passe

[Attention] Attention

Faites attention à ces différences si vous utilisez un système autre que Debian.

Voir « /usr/share/doc/ssh/README.Debian.gz", ssh(1), sshd(8), ssh-agent(1), et ssh-keygen(1) pour davantage d'informations.

Les fichiers suivants sont les fichiers de configuration importants :

Tableau 6.15. Liste des fichiers de configuration de SSH

fichier de configuration description du fichier de configuration
/etc/ssh/ssh_config valeurs par défauts des paramètres du client SSH, voir ssh_config(5).
/etc/ssh/sshd_config valeurs par défauts des paramètres du serveur SSH, voir sshd_config(5).
~/.ssh/authorized_keys clés publiques SSH par défaut utilisées pour se connecter à ce compte sur ce serveur SSH
~/.ssh/identity clé secrète SSH-1 RSA de l'utilisateur
~/.ssh/id_rsa clé secrète SSH-2 RSA de l'utilisateur
~/.ssh/id_dsa clé secrète SSH-2 DSA de l'utilisateur

[Astuce] Astuce

Voir ssh-keygen(1), ssh-add(1) et ssh-agent(1) pour la manière d'utiliser les clés publiques et secrètes de SSH.

[Astuce] Astuce

Assurez-vous de la validité de la configuration en testant la connexion. En cas de problème, utilisez « ssh -v ».

[Astuce] Astuce

Vous pouvez changer la phrase de passe pour chiffrer les clés secrètes SSH plus tard avec « ssh-keygen -p ».

[Astuce] Astuce

Vous pouvez ajouter des options aux entrées de « ~/.ssh/authorized_keys » afin de limiter les accès à certaines machines et les commandes autorisées. Voir sshd(8) pour davantage d'informations.

Ce qui suit permettra de démarrer un connexion ssh(1) depuis un client :

Tableau 6.16. Liste d'exemples de démarrage du client SSH

commande description
ssh nomutilisateur@nommachine..domaine.ext connexion avec le mode par défaut
ssh -v nomutilisateur@nommachine..domaine.ext connexion avec le mode par défaut et les messages de débogage
ssh -1 nomutilisateur@nommachine..domaine.ext forcer la connexion avec SSH version 1
ssh -1 -o RSAAuthentication=no -l nomutilisateur@nommachine..domaine.ext forcer l'utilisation d'un mot de passe avec SSH version 1
ssh -o PreferredAuthentications=password -l nomutilisateur@nommachine.domaine.ext forcer l'utilisation d'un mot de passe avec SSH version 2

Si vous utilisez le même nom d'utilisateur sur la machine locale et la machine distante, il n'est pas nécessaire d'entrer « nomutilisateur@ ». Même si vous utilisez un nom d'utilisateur différent sur la machine locale et la machine distante, vous pouvez l'éliminer en utilisant « ~/.ssh/config ». Pour le service Debian Alioth avec le nom de compte « toto-guest », vous devrez configurer « ~/.ssh/config » afin qu'il contienne ce qui suit :

Host alioth.debian.org svn.debian.org git.debian.org
    User toto-guest

Pour l'utilisateur, ssh(1) fonctionne comme un telnet(1) intelligent et plus sûr. À l'opposé de la commande telnet, la commande ssh ne se lance pas sur le caractère d'échappement de telnet (valeur initiale par défaut Ctrl-]).

6.9.2. Redirection de port pour un tunnel SMTP/POP3

Pour mettre en place un tube pour se connecter au port 25 du serveur-distant depuis le port 4025 de localhost, et au port 110 du serveur-distant depuis le port 4110 de localhost au travers de ssh, exécutez ce qui suit sur la machine locale :

# ssh -q -L 4025:serveur-distant:25 4110:serveur-distant:110 nomutilisateur@serveur-distant

C'est une manière sécurisée d'effectuer une connexion à des serveurs SMTP / POP3 par Internet. Définissez l'entrée « AllowTcpForwarding » à « yes » dans « /etc/ssh/sshd_config » sur la machine distante.

6.9.3. Se connecter sans mot de passe distant

On peut éviter de devoir se souvenir des mots de passe des systèmes distants en utilisant « RSAAuthentication » (protocole SSH-1) ou « PubkeyAuthentication » (protocole SSH-2).

Sur le système distant, définissez les entrées respectives suivantes : « RSAAuthentication yes » ou« PubkeyAuthentication yes » dans « /etc/ssh/sshd_config ».

Générez ensuite localement les clés d'identification et installez la clé publique sur le système distant en faisant ce qui suit :

  • « RSAAuthentication » : clé RSA pour SSH-1 (obsolète parce qu'il a été remplacé).
$ ssh-keygen
$ cat .ssh/identity.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
  • « PubkeyAuthentication » : clé RSA pour SSH-2
$ ssh-keygen -t rsa
$ cat .ssh/id_rsa.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
  • « PubkeyAuthentication » : clé DSA pour SSH-2 (obsolète parce qu'elle est lente).
$ ssh-keygen -t dsa
$ cat .ssh/id_dsa.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"
[Astuce] Astuce

L'utilisation de clés DSA pour SSH-2 est obsolète parce que la clé est plus courte et lente. Il n'y a plus de raison de contourner le brevet de RSA en utilisant DSA parce qu'il est arrivé en fin de validité. DSA signifie Digital Signature Algorithm (Algorithme de signature numérique) et il est lent. Voir aussi DSA-1571-1.

[Note] Note

Pour que « HostbasedAuthentication » fonctionne avec SSH-2, vous devez définir les paramètres de « HostbasedAuthentication » à « yes » à la fois dans le fichier « /etc/ssh/sshd_config » sur la machine serveur et dans le fichier « /etc/ssh/ssh_config » ou « ~/.ssh/config » sur la machine client.

6.9.4. Clients SSH exotiques

Il existe quelques clients SSH libres disponibles pour d'autres plateformes.

Tableau 6.17. Liste des clients SSH libres pour d'autres plateformes

environnement programme SSH libre
Windows puTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/) (GPL)
Windows (cygwin) SSH sous cygwin (http://www.cygwin.com/) (GPL)
Macintosh Classic macSSH (http://www.macssh.com/) (GPL)
Mac OS X OpenSSH ; utilise ssh dans l'application Terminal (GPL)

6.9.5. Configurer ssh-agent

Il est plus sûr de protéger les clés secrètes de votre authentification SSH avec une phrase de passe. Si la phrase de passe n'a pas été définie, utilisez « ssh-keygen -p » pour le faire.

Placez votre clé publique SSH (par exemple « ~/.ssh/id_rsa.pub ») dans « ~/.ssh/authorized_keys » sur la machine distante en utilisant une connexion basée sur un mot de passe comme décrit ci-dessus.

$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/<nom_utilisateur>/.ssh/id_rsa:
Identity added: /home/<nom_utilisateur>/.ssh/id_rsa (/home/<nom_utilisateur>/.ssh/id_rsa)

Il n'y a plus besoin de mot de passe distant, à partir de maintenant, pour la commande suivante :

$ scp toto <utilisateur>@remote.host:toto

Pressez ^D pour quitter la session de l'agent ssh.

Pour le serveur X, le script de démarrage normal de Debian exécute ssh-agent comme processus-père. Vous n'aurez donc à exécuter ssh-add qu'une seule fois. Pour davantage d'informations, veuillez lire ssh-agent(1) et ssh-add(1).

6.9.6. Comment arrêter le système distant par SSH

Vous devez protéger le processus qui effectue « shutdown -h now » (voir Section 1.1.8, « Comment arrêter le système ») de l'arrêt de SSH en utilisant la commande at(1) (voir Section 9.5.13, « Planifier des tâches qui s'exécutent une fois ») comme suit :

# echo "shutdown -h now" | at now

Lancer « shutdown -h now » dans une sessionscreen(1) (voir Section 9.1, « Le programme screen ») est une autre manière d'effectuer la même chose.

6.9.7. Résoudre les problèmes avec SSH

Si vous rencontrez des problèmes, vérifiez les permissions des fichiers de configuration et lancez ssh avec l'option « -v ».

Utilisez l'option « -P » si vous êtes administrateur et que vous rencontrez des problèmes avec un pare-feu. Cela évite l'utilisation des ports 1 — 1023 du serveur.

Si les connexions ssh vers un site distant s'arrêtent subitement de fonctionner, cela peut être suite à des bidouilles de l'administrateur, le plus probablement un changement de « host_key » pendant une maintenance du système. Après s'être assuré que c'est bien le cas et que personne n'essaie de se faire passer pour la machine distante par une habile bidouille, on peut se reconnecter en supprimant sur la machine locale l'entrée « host_key » de « ~/.ssh/known_hosts ».

6.10. Autres serveurs d'applications réseau

Voici d'autres serveurs d'applications réseau :

Tableau 6.18. Liste d'autres serveurs d'applications réseau

paquet popcon taille protocole description
telnetd * V:0.4, I:1.2 156 TELNET Serveur TELNET
telnetd-ssl * V:0.13, I:0.3 152 , , , , (prise en charge de SSL)
nfs-kernel-server * V:13, I:22 328 NFS Partage de fichiers Unix
samba * V:20, I:32 18140 SMB Partage de fichiers et d'imprimantes Windows
netatalk * V:5, I:10 3232 ATP Partage de fichiers et d'imprimantes Apple/Mac (AppleTalk)
proftpd-basic * V:6, I:7 2044 FTP Téléchargement généraliste de fichiers
wu-ftpd * V:0.5, I:0.6 820 , , , ,
apache2-mpm-prefork * V:38, I:42 68 HTTP Serveur Web généraliste
apache2-mpm-worker * V:6, I:7 68 , , , ,
squid * V:6, I:7 1956 , , Serveur mandataire (proxy) web généraliste
squid3 * V:1.4, I:1.7 3716 , , , ,
slpd * V:0.19, I:0.3 228 SLP Serveur OpenSLP en tant que serveur LDAP
bind9 * V:10, I:17 1064 DNS adresses IP des autres machines
dhcp3-server * V:5, I:10 804 DHCP adresse IP du client lui-même

Le protocole « Common Internet File System Protocol » (CIFS) est le même protocole que Server Message Block (SMB), il est largement utilisé par Microsoft Windows.

[Astuce] Astuce

L'utilisation d'un serveur mandataire tel que squid est bien plus efficace pour économiser de la bande passante que l'utilisation d'un serveur miroir local comportant tout le contenu de l'archive Debian.

6.11. Autres clients d'applications réseau

Voici d'autres clients d'applications réseau :

Tableau 6.19. Liste de clients d'applications réseau

paquet popcon taille protocole description
netcat * I:34 36 TCP/IP couteau de l'armée Suisse pour TCP/IP
openssl * V:43, I:91 2376 SSL Secure Socket Layer (SSL) binary and related cryptographic tools
stunnel4 * V:0.5, I:2 512 , , enrobeur SSL universel
telnet * V:14, I:89 200 TELNET Client TELNET
telnet-ssl * V:0.3, I:1.2 208 , , , , (prise en charge de SSL)
nfs-common * V:50, I:81 560 NFS Partage de fichiers Unix
smbclient * V:6, I:37 35316 SMB Client de partage de fichiers et imprimantes MS Windows
smbfs * V:5, I:25 56 , , commande de montage et de démontage de fichiers MS Windows distants
ftp * V:9, I:85 168 FTP Client FTP
lftp * V:1.4, I:6 1864 , , , ,
ncftp * V:1.5, I:7 1276 , , client FTP plein écran
wget * V:28, I:99 2360 HTTP et FTP téléchargement web
curl * V:6, I:22 336 , , , ,
bind9-host * V:42, I:91 184 DNS host(1) de bind9, « Priority: standard »
dnsutils * V:13, I:90 404 , , dig(1) de bind, « Priority: standard »
dhcp3-client * V:47, I:94 608 DHCP obtenir une adresse IP
ldap-utils * V:1.7, I:7 648 LDAP obtenir des données d'un serveur LDAP

6.12. Le diagnostic des démons du système

Le programme telnet permet la connexion manuelle aux démons du système et leur diagnostic.

Essayez, par exemple, ce qui suit :

$ telnet mail.nom_isp.net pop3

Les RFC suivantes proposent les connaissances nécessaires pour chaque démon :

Tableau 6.20. Liste des RFC courantes

RFC description
rfc1939 et rfc2449 service POP3
rfc3501 service IMAP4
rfc2821 (rfc821) service SMTP
rfc2822 (rfc822) Format de fichier de courrier électronique
rfc2045 Extensions multifonctions du courrier Internet « Multipurpose Internet Mail Extensions (MIME) »
rfc819 service DNS
rfc2616 service HTTP
rfc2396 définition d'une URI

L'utilisation des ports est décrite dans « /etc/services ».

[Note] Note

Pour tester des services TLS/SSL tels que HTTPS, vous devrez avoir activé le programme telnet.