SSH Sous Gnu-Linux
SSH Sous Gnu-Linux
SSH Sous Gnu-Linux
Sommaire
1.1. Principe........................................................................................2
1.2. Présentation..................................................................................2
1.3. Mode de fonctionnement de SSH......................................................4
1.3.1. Mode de fonctionnement de la couche transport SSH....................4
1.3.2. Fichiers de configuration d'OpenSSH...........................................5
1.4. Configurer et utiliser SSH................................................................6
1.4.1. Premiers pas...........................................................................6
1.4.2. Utiliser un agent ssh.................................................................8
1.4.3. Automatisation dans X..............................................................9
1.5. Comprendre la redirection de port (Port Forwarding).........................10
1.5.1. Redirection locale de port (-L Local)..........................................11
1.5.2. Redirection distante de ports (-R Remote).................................12
1.5.3. Schéma de redirection distante de ports....................................13
1.5.4. Exemple de cas d'utilisation.....................................................13
1.5.5. X and Port Forwarding............................................................16
1.5.6. Automatisation de tâches SSH.................................................16
1.6. Scénario d'utilisation d'un proxy ssh...............................................17
1.6.1. Proxy HTTP...........................................................................17
1.6.2. Autres scénarios....................................................................18
1.7. Utilisation de rsync.......................................................................18
1.8. Utilisation de SCP et de SFTP.........................................................19
1.8.1. Utilisation de scp....................................................................19
1.8.2. Utilisation de sftp...................................................................20
1.9. Extrait de /etc/syslog.conf.............................................................21
1.10. Extrait de /var/log/syslog...........................................................21
1.1. Principe
1.2. Présentation
Un des principaux risques sur les réseaux provient de "l'écoute" possible puisque toutes les
données transitent, si rien n'est fait, en clair sur les résaeux. C'est à dire qu'elles ne sont pas
cryptées.
Il est ainsi possible de récupérer sans difficulté les mots de passe des personnes utilisant le
réseau, leur messages, et d'espionner toutes leurs transactions, y compris celles passées sur des
serveurs HTTP. Ceci est lié à la méthode d'accès des réseaux. Le principe de la commutation
par switch permet de limiter un peu les risques mais n'est pas imparable.
Il existe des solutions permettant de sécuriser un minimum les transactions. Nous allons voir
rapidement quelques modes d'utilisation de ssh et de logiciels comme scp, sftp, unisson et
rsync afin de voir comment évoluer dans un environnement plus sûr.
Figure 13.1. Schéma maquette
En fait ssh ou Secure SHell, propose un shell sécurisé pour les connexions à distance et se
présente dans ce domaine comme le standard "de fait". Mais ce n'est pas que cela. Nous allons
essayer de voir quelques modes d'utilisation de ce produit.
Dans une transaction traditionnelle, un client (personne ou programme) émet une requête TCP
Avec ssh, il sera possible d'établir un tunnel crypté (ou chiffré) entre le client et le serveur.
Sur la machine serveur vous allez avoir 2 processus serveurs. Le serveur pop3 et le serveur
SSH. Sur le client, vous allez également avoir 2 processus. Le client pop3 et le client ssh. Le
client pop3 se connecte au tunnel (le client ssh local). Le serveur pop3, est relié au serveur ssh
distant. Les transactions passent dans le tunnel.
Le client ssh devient un serveur mandataire (proxy) pour le protocole tunnelé. Le serveur ssh
devient le client proxy pour le serveur.
Figure 13.2. Schéma du fonctionnement
Sur le diagramme, le canal entre le port tcp de l'application cliente et le port client du tunnel
n'est pas chiffré. Il en est de même entre le port tcp de l'application serveur et le port serveur
du tunnel. Seul, le canal entre les 2 ports du tunnel est chiffré.
L'application cliente n'utilise plus le port par défaut qu'écoute normalement le serveur.
L'utilisation d'un tunnel ssh impose des contraintes. Par exemple, dans l'exemple ci-dessus, si
vous voulez utiliser l'application cliente avec un autre serveur, il faudra recréer un autre tunnel
et reconfigurer le client. Vous pouvez créer deux tunnels différents, mais vous devrez avoir
deux applications clientes utilisant des ports différents. Tout cela convient bien sur des
environnements simples, mais reste un peu contraignant si l'environnement est complexe.
Pour tunneler un réseau ou de multiples clients, le mieux est d'installer un serveur ssh capable
de recevoir plusieurs connexions et servant ainsi de serveur proxy aux clients du réseau pour
un service donné et routant les requêtes dans un tunnel sécurisé vers le serveur d'application
concerné.
L'objectif est de pouvoir supprimer d'un serveur toute application utilisant des protocoles "non
Document Millésime Page
OFPPT @ Ssh sous Gnu/Linux janvier 08 3 - 24
Ssh sous Gnu/Linux
sûrs" (ftp, telnet, rsh...), pour les remplacer par des applications plus sûres, ou alors, s'il n'est
pas possible de les désactiver, de les faire passer dans un tunnel crypté.
Des programmes de la même famille comme "scp" ou "sftp" remplacent les commandes ftp ou
rcp.
Avec ssh la totalité de la transaction entre un client et le serveur est cryptée. Le client a la
possibilité d'utiliser des applications X distantes (X11 forwarding) à partir d'une invite shell
dans un environnement sécurisé. On se sert également de SSH pour sécuriser des transactions
non sûres comme pop3 ou imap par exemple. De plus en plus, ces applications supportent
maintenant SSL aussi bien pour les clients que pour les serveurs.
Chaque fois que cela est possible vous devez utiliser une solution qui chiffre vos transactions.
Le client peut s'authentifier en toute sécurité, et accéder aux applications conformes aux
spécifications du protocole.
Lors du premier échange, le client ne connaît pas le serveur. Le serveur propose alors une clé
hôte qui servira par la suite au client de moyen d'identification du serveur.
Le risque de ce processus, vient donc surtout de la première transaction, où le client n'a pas le
moyen d'identifier de façon fiable le serveur avec qui il communique. Un pirate peut dans
certains cas, tenter de détourner cette opération. Au cours d'un échange, le client et le serveur
modifient régulièrement leurs clés. A chaque opération de renouvellement de clé, un pirate qui
aurait réussi à décrypter les clés, devrait refaire toute l'opération.
Authentification :
Une fois le tunnel sécurisé mis en place, le serveur envoie au client les différentes méthodes
d'authentification qu'il supporte. Dans le cadre d'une authentification par mot de passe, celui-ci
peut être envoyé en toute sécurité puisqu'il est chiffré.
Connexion :
Une fois l'authentification réalisée, le tunnel SSH peut multiplexer plusieurs canaux en
délégant la tâche à des agents.
Ici on voit dans la même session ssh, 2 canaux pour xclock, 1 pour xlogo et 1 pour la
commande pstree. Chaque canal est numéroté. Le client peut fermer un canal sans pour autant
fermer toute la session.
Les informations spécifiques à un utilisateur sont stockées dans son répertoire personnel à
l'intérieur du répertoire ~/.ssh/:
Nous allons faire nos premières expérences avec ssh. Il vous faut un client et un serveur. C'est
mieux.
L'idée est de mettre en place une procédure entre un client et un serveur qui garantit des
transactions sécurisées. A la fin, vous pourrez utiliser les ressources du serveur distant dans un
tunnel, sans avoir à vous authentifier à chaque fois.
Pour ceux qui ont déjà utilisé les commandes rlogin, rsh, rcp... et les fichiers .rhosts, le
principe est identique. La différence fondamentale est que, avec ssh, tout est crypté.
Pour cela vous devez mettre en place les clés qui serviront à ssh pour vous authentifier.
Concrètement cela consiste à définir une paire de clés, une publique que vous mettrez sur le
serveur distant, une privée que vous conserverez sur votre machine.
La première chose à faire est de vous créer une clé. Voyons comment réaliser cela.
$ cd
$ ssh-keygen -t dsa
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/mlx/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/mlx/.ssh/id_dsa.
Your public key has been saved in /home/mlx/.ssh/id_dsa.pub.
The key fingerprint is:
5c:d9:d8:c5:3d:8d:0b:10:33:42:9c:83:45:a1:d0:61 mlx@neptune.foo.org
Cette commande a généré une clé DSA par défaut de 1024 bits. La clé privée sera stockée dans
~/.ssh/id_dsa et la clé publique dans ~/.ssh/id_dsa.pub.
Si vous voulez générer une clé RSA2, utilisez l'option "-t rsa" et pour du RSA1 "-t rsa1". Vous
devrez entrer une "passphrase". Entre 10 et 30 caractères. Mélangez majuscules, minuscules et
chiffres. La clé privée doit ensuite être mise en lecture seule pour le propriétaire et aucun accès
pour les autres.
Pour modifier votre "passphrase" sur une clé privée DSA, utilisez la commande :
Attention, il ne faut pas oublier la "passphrase", elle vous sera redemandée. Il va falloir
maintenant copier la clé publique vers le ou les serveurs distants. Il est préférable que vous
ayez un compte, sinon vous devrez demander à l'administrateur distant de réaliser la
procédure.
La clé publique, doit être copiée sur le serveur distant dans ~/.ssh/authorized_keys. La clé
privée reste sur votre poste client. Vous pouvez mettre plusieurs clés publiques sur le serveur,
si vous le souhaitez ou si vous accédez au serveur avec plusieurs comptes d'accès différents.
Copiez la clé avec scp sur le compte que vous avez sur le serveur :
Elle est transférée. On doit pouvoir maintenant réaliser des opérations (commandes) comme
scp sur le serveur distant, sans avoir à saisir de mot de passe. Ici on va faire un "ls", sans ouvrir
de session sur la machine distante.
Le système distant ne demande plus le mot de passe, par contre il demande la "passphrase". Il
va falloir aussi essayer de se passer de ça, car s'il est fastidieux de saisir son mot de passe, il
est encore plus embêtant de saisir une "passphrase". Nous verrons comment se passer de ça
avec un agent.
Remarque : Envoyer une clé par mail n'est pas un système sûr, et même chiffré et signé cela ne
garantit pas au destinataire que vous en êtes l'émetteur s'il ne vous a jamais vu.
L'administrateur distant peut demander à ce que l'envoyeur justifie qu'il est bien celui qui a
envoyé la clé. Il suffit pour cela de téléphoner à l'administrateur et de communiquer "la
signature ou empreinte" (finger print) de la clé (ou par sms). On utilise le même procédé pour
identifier et vérifier la validité des clés gpg.
M0:$ ssh-keygen -l
Enter file in which the key is (/home/mlx/.ssh/id_rsa): .ssh/id_dsa
1024 5c:d9:d8:c5:3d:8d:0b:10:33:42:9c:83:45:a1:d0:61 .ssh/id_dsa.pub
M0:$ ssh-keygen -l
Enter file in which the key is (/home/mlx/.ssh/id_rsa): .ssh/id_dsa.pub
1024 5c:d9:d8:c5:3d:8d:0b:10:33:42:9c:83:45:a1:d0:61 .ssh/id_dsa.pub
L'utilisation d'un agent, évite d'avoir à retaper la "passphrase" à chaque fois que l'on sollicite
l'utilisation de la clé privée. Un agent stocke en mémoire les clés privées. Voici comment
activer un agent :
M0:$ ssh-agent
La commande met sur la sortie standard des variables environnement à déclarer et à exporter.
Faites le.
On va maintenant exporter les clés. Cela consiste à les mettre dans le cache de l'agent avec la
commande ssh-add. La commande demandera la "passphrase"..
M0:$ ssh-add
Enter passphrase for /home/mlx/.ssh/id_dsa:
Identity added: /home/mlx/.ssh/id_dsa (/home/mlx/.ssh/id_dsa)
Nous n'avons plus besoin de taper le mot de passe, ni la "passphrase". Pour supprimer une clé
(ici RSA) de l'agent, utilisez l'option "-d"
"ssh-agent" est un daemon dont le but est d'intercepter la clé publique lorsque le programme
"ssh-add" la lit après avoir demandé la passphrase. "ssh-agent" doit ensuite transmettre la clé
aux processus dont il est le "père" du point de vue du système. "ssh-agent" fait bénéficier les
processus fils (fork) de ses propriétés.
Pour étendre cela aux sessions X, si vous lancez l'interface graphique manuellement, cela
deviendra par exemple :
Dans tous les cas, il est nécessaire que les variables d'environnement soient définies avant le
lancement du serveur X, qui les exportera par défaut à l'ensemble de vos applications
graphiques (lancées sous X).
Cela peut aussi être fait dans le fichier startx ou bien ~/.xinitrc ou bien ~/.xsession, en résumé
avant le lancement de votre gestionnaire de fenêtres. Par exemple, si c'est le fichier ~/.xinitrc
qui lance le gestionnaire de fenêtres, il ressemblera à ceci:
#!/bin/sh
Ainsi, au prochain lancement d'un serveur X, vous n'aurez plus qu'à ouvrir une fenêtre xterm et
taper la commande: ssh-add
Pour les sessions xdm par exemple, modifier les fichiers de démarrage :
Forwarding)
Avant d'aller plus loin il est important de bien comprendre ce qu'est le "port forwarding".
1. - l'application cliente
2. - l'application serveur
3. - le client ssh
4. - le serveur ssh
Nous allons voir la redirection locale '-L' et distante '-R'. La différence vient du sens de la
connexion. Dans le relayage local, le client tcp et le client ssh sont sur la même machine. Dans
le relayage distant ou "remote", le client ssh est sur la même machine que le serveur tcp.
Dans la démarche qui suit, on utilise un client M0 et deux serveurs M1 et M2. On considère
que sur chaque serveur fonctionne un serveur ssh. On considère aussi que sur chaque machine
on dispose d'un compte d'accès sur chaque machine identique avec les clés publiques
installées. Cela évite une authentification à chaque commande ou l'utilisation de l'option '-l'
pour préciser le compte à utiliser sur le serveur.
Si on considère ces 3 machines : M0, la machine cliente, M1 et M2, des serveurs. La syntaxe
de la commande est la suivante :
Ici localhost indique l'adresse de loopback de la machine distante, c'est à dire ici M1 et sur
laquelle tourne le serveur sshd. C'est donc M0:1234 qui est tunnélé vers le port M1:80 en
utilisant le service M1:22.
Si HOSTNAME est M1 :
La connexion est identique mais utilisera l'adresse de la M1 (interface réseau ) plutôt que
l'interface lo.
Si HOSTNAME est M0 :
Si HOSTNAME est M2 :
Il y aura une connexion (un tunnel créé) entre M0 et M1 mais la redirection est effectuée entre
M1:1234 et M2:80 en utilisant M1:22. Les transactions sont chiffrées entre M0 et M1, mais
pas entre M1 et M2, sauf si un second tunnel ssh est créé entre M1 et M2.
Les redirections de ports ne sont accessibles en théorie que pour les processus locaux
(localhost) (pour nous M0). Si la redirection était possible pour des clients (MX ou MY) ou
des requêtes distantes qui viendraient se connecter su rM0:1234 dans notre exemple, ces
clients pourraient être surpris de se voir re-routés. (Sans parler de risques pour la sécurité car
cela signifie que d'autres personnes pourraient utiliser à notre insu le tunnel que nous venons
de créer. Prenons un exemple :
les requêtes locales passées sur M1:1234 sont redirigées vers M1:80, mais des requêtes
passées d'autres machines sur M0:1234 ne seront pas, par défaut redirigées.
Il est possible toutefois de passer outre avec l'option '-g' qui autorise des clients distants à se
connecter à des ports locaux redirigés.
La commande "lynx http://M0:1234" lancé à partir d'une machine tierce (MX ou MY)
redirigera vers M2:80.
Une utilisation de cette fonction sera vue en application un peu plus loin.
Ici le client ssh et le serveur TCP sont du même côté. La syntaxe de la commande est la
suivante :
Ici M0 à le serveur TCP, il sert donc de relais entre une connexion M1:1234 et
HOSTNAME:80. La connexion est chiffrée entre M1 et M0. Le chiffrement entre M0 et
HOSTNAME dépend de la liaison mise en place.
Cela ouvre une connexion depuis M1:1234 vers M0:80 car localhost correspond, ici, à M0. Si
un utilisateur passe une requête sur M1:1234, elle sera redirigée vers M0:80.
Cela ouvre une connexion entre M0 et M1:22, mais les requêtes allant de M1:1234 sont
redirigés sur M2:80. Le canal est chiffré entre M1 et M0, mais pas entre M0 et M2.
Enfin dernière remarque, il est possible de passer en paramètre le compte à utiliser sur le
serveur qui fait tourner le serveur sshd.
Cette option permet par exemple de donner, à des machines distantes, un accès à un service sur
une machine inaccessible autrement.
Figure 13.3. Schéma du fonctionnement
SSH permet de "tunneler" des protocoles applicatifs via la retransmission de port. Lorsque
vous utilisez cette technique, le serveur SSH devient un conduit crypté vers le client SSH.
Cela représente un des plus importants intérêt de SSH. Permettre la création de tunnels "sûrs"
pour des protocoles de transports "non sûrs". Ce principe est utilisé pour des applications
comme pop, imap, mais également pour des applications X Window.
La retransmission de port mappe (redirige) un port local du client vers un port distant du
serveur. SSH permet de mapper (rediriger) tous les ports du serveur vers tous les ports du
client.
Pour créer un canal de retransmission de port TCP/IP entre 2 machines qui attend les
connexions sur l'hôte local, on utilise la commande suivante :
Une fois que le canal de retransmission de port est en place entre les deux ordinateurs, vous
pouvez diriger votre client (POP par exemple) pour qu'il utilise le port local redirigé et non
plus vers le port distant avec une transmission en clair.
Nous avons bien vu les options '-L' et '-R'. De nombreuses autres options sont utilisables, par
exemple :
Voyons comment créer un tunnel pour le service d'émulation VT par exemple. On va utiliser
un port local compris entre 1024 et 65535 qui sont réservés pour des applications utilisateurs.
On va prendre par exemple le port local 1025. Pour créer un tunnel on va utiliser la commande
:
Ici on utilise (précise) que le compte utilisé sur la machine distante sera M1.foo.org. Vous
devez faire cela si le nom du compte que vous utilisez sur le client diffère de celui que vous
utilisez sur le serveur.
On crée ici un tunnel entre le port local 1025 et le port distant 23. Le tunnel étant créé il ne
reste plus qu'à utiliser le port local 1025 avec un telnet adresse_de_la_machine 1025
Il est également possible d'ouvrir une session temporaire pour un temps donné. Cela évite
d'avoir à fermer les connexions. Dans la commande :
L'option -f, met ssh en tâche de fond. La session sera fermée automatiquement au bout du
temps déterminé, seulement si aucun processus n'utilise le canal à ce moment.
Le principe peut être appliqué à d'autres services. Voici comment utiliser un canal sécurisé
vers une application (ici un webmail) qui ne l'est pas. (En fait dans la réalité, je vous rassure,
l'application présentée sur l'image offre toutes les options de connexion en mode sécurisé.
L'exemple donné est pris pour illustrer le propos.)
Figure 13.4. Tunnel HTTP
On peut également sans risque aller sur sa zone public_html en toute sécurité.
lynx http://localhost:2038/~mlx
La connexion se fait sur la machine locale et sur le port forwardé. Ni le compte utilisateur
utilisé, ni le mot de passe ne transitent en clair.
En effet :
fait référence à une adresse IP qui est redirigée par un Vhost Apache.
fait référence à l'adresse de loopback, ici c'est le serveur par défaut (typiquement sur une
debian /var/www/) qui est consulté. Si vous avez plusieurs Vhosts, il vous faudra créer un
tunnel par Vhost.
Attention, dans ce dernier exemple, il n'y a que l'authentification qui est chiffrée car le port 20
(ftp-data) n'est pas forwardé.
ForwardX11 yes
Vous pouvez tout mettre sur la même ligne de commande, avec l'option "-f", qui "fork"
l'application demandée.
Notez le prompt, ici l'ouverture de session a été effectuée en tâche de fond (-f). Pour fermer le
canal ssh, il suffit de fermer l'application.
Dans la mesure où il est possible de passer des commandes à distances sur un serveur, sans
avoir à saisir de mot de passe ou de "passphrase", on peut envisager l'automatisation de tâches
entre machines et dans des tunnels, comme par exemple les sauvegardes ou la synchronisation
de fichiers. Il suffira pour cela de créer un compte associé à la tâche, lui créer une clé privée et
exporter sa clé publique sur les différentes machines.
Attention toutefois, les manipulations sur les serveurs requièrent un accès root. Cela signifie
que votre compte opérateur, devra avoir un accès root sur le serveur ce qui n'est jamais très
bon.
Vous aurez intérêt à réfléchir à la façon de réaliser le traitement sans que ce compte opérateur
ait besoin du compte "super utilisateur".
Si vous avez un serveur ayant un dm (Desktop Manager) comme gdm par exemple, disponible
sur le réseau vous pouvez lancer les émulations X Window des clients en appelant le serveur.
Par exemple sur le client faire :
X -query x.y.z.t :u
ou encore
X -broadcast :u
avec u pouvant varier de 0 à 5, suivant que vous voulez avoir la session graphique sur
F7...F12. Pour le système vc7 que vous utilisez par défaut avec CTRL ALT F7 correspond au
premier "display" :0.
Maintenant que nous y voyons plus clair, voici deux scénarios d'utilisation d'un proxy ssh.
Vous êtes sur un réseau avec un accès extérieur limité. Pas d'accès http :-(
Vous devez disposer d'une machine à l'extérieur sur laquelle tourne un serveur ssh et un proxy
Squid par exemple.
Par défaut Squid utilise le port 3128. On met tout d'abord les autorisations à Squid afin qu'il
accepte nos requêtes, sinon elles seront rejetées. (Voir les ACL du fichier /etc/squid.conf). Si
vous êtes pressés un "http_access allow all" est brutal, mais ça marche ;-) Nous allons créer un
tunnel vers ce service de la machine locale vers la machine distante sur le port 3128.
Il ne reste plus qu'à configurer votre navigateur pour qu'il utilise le proxy local
"localhost:3128" et le tour est joué. Vous pouvez naviguer en toute sécurité, si vos requêtes
sont espionnées au niveau du firewall de votre boîte, elle ne pourront plus être lues.
Cette configuration présente une limitation. Vous ne pouvez utiliser le proxy qu'à partir de la
machine sur laquelle vous avez créé le tunnel (M0).
Si vous êtes mobile dans votre entreprise et que vous souhaitez accéder à l'extérieur à partir
d'autres machines, ou encore que vous voulez laisser cet accès à des amis qui utilisent le même
réseau que vous, il faut procéder autrement.
L'option "-g" va transformer votre machine en passerelle pour le tunnel. Les autres n'auront
plus qu'à mettre comme proxy, le nom ou l'adresse de votre machine et le port 3128.
Si vous souhaitez par contre ouvrir le service de votre proxy à d'autres amis mais pouvant être
dans d'autres boîtes ou sur d'autres réseaux, cela se complique un peu, car chacun d'eux doit
pouvoir créer un tunnel vers votre proxy. Il faut donc, sur votre proxy créer plusieurs ports
d'écoute pour les tunnels et rediriger tout ça vers votre proxy.
Ici on a créé sur le proxy 2 ports, 3130 et 3131 qui redirigent vers le port 3128. Il suffit ensuite
à partir des machines distantes (réseaux distants) de créer les tunnels vers ces ports.
Si vous ne souhaitez rediriger les requêtes que pour une machine (site web) en particulier vous
pouvez créer un tunnel de la façon suivante :
où SITEWEB est l'url du site web que vous souhaitez atteindre (typiquement un webmail). Ici,
la configuration du navigateur ne change pas. Le proxy est le même. Vous évitez juste
l'utilisation d'un squid si vous n'en avez pas.
Remarque, dans le navigateur vous pouvez taper tout ce que vous voulez (yahoo, wanadoo,
google...) vous arriverez toujours sur SITEWEB.
Si vous avez compris le principe pour le processus décrit ci-dessus, vous pouvez l'appliquer
pour tous les autres services (messagerie pop ou imap, news, cvs, vnc ...).
Si un admin faisait trop de rétorsion, ne dites plus rien, vous savez maintenant comment vous
y prendre.
rsync est intéressant car il ne mettra à jour sur le "repository" qui reçoit uniquement les
fichiers qui ont été créés ou modifiés. Cela procure un gain non négligeable par rapport à une
simple "recopie" de toute l'arborescence dans le cas ou peu de fichiers sont modifiés.
rsync et rsyncd, associés à des scripts et à la crontab, est une option remarquable pour la
réplication de disques entre 2 ou plusieurs machines.
Si vous souhaitez "mirorrer" un disque local vers un répertoire que vous avez sur une autre
machine sur internet, il vous faudra également passer par une procédure d'authentification. Si
vous avez exporté votre clé publique sur la machine distante, vous allez pouvoir synchroniser
les disques dans un tunnel sécurisé avec ssh et sans avoir à entrer votre mot de passe. Par
exemple, la commande :
Il existe bien sûr des applications graphiques basées sur le concept rsync.
Une autre option pour la synchronisation de disques distants est "unison". unison est un
produit particulièrement performant :
http://www.cis.upenn.edu/~bcpierce/unison/index.html
unison permet l'utilisation en mode commande (scripts) mais propose aussi une interface
graphique.
La commande
La commande :
donne la liste des fichiers distants qui sont dans le répertoire "psionic". Pour copier ces fichiers
localement dans un répertoire psionic on va utiliser :
Ou pour envoyer les fichiers du répertoire local psionic, vers le répertoire tmp qui est dans
/home/mlx de la machine M1.foo.org :
sftp mlx@M1.foo.org
sftp>
On obtient un prompt, ici le système ne m'a pas demandé de m'authentifier. Pour avoir une
liste des commandes, utiliser "help".
sftp> help
Available commands:
tentatives d'accès.
Remarques:
La commande kill -HUP pid de sysklogd permet de redémarrer ce processus avec prise en
compte des paramètres se trouvant dans /etc/syslog.conf. Il est aussi possible d'invoquer le
script de lancement du service en lui passant l'argument restart : /etc/init.d/syslogd restart