Sauvegarde par ssh avec la commande scp avec clé publique - clé privée

03/11/2006 - 29047 consultations - 6 commentaires


Ce tutoriel présente comment effectuer une copie de fichier entre 2 serveurs en utilisant scp, en passant par des clé publique et clé privée afin de ne pas avoir à saisir de mot de passe

On commence par générer une paire de clés (publique et privée) sur le serveur qui émetteur :
ssh-keygen -t dsa -b 1024

Les informations suivante sont demandées :
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
id_dsa
Enter passphrase (empty for no passphrase):(LAISSER VIDE)
Enter same passphrase again:
Your identification has been saved in id_dsa.
Your public key has been saved in id_dsa.pub.
The key fingerprint is:
1d:9a:23:a3:c3:14:42:12:52:54:a4:c6:54:3f:43:23 root@serveur1

Copier la clé publique sur le serveur sur lequel on veut se connecter :
ssh-copy-id -i /root/.ssh/id_dsa.pub root@111.222.333.444

Le mot de passe du serveur cible est demandé :
Password: (INDIQUER ME MOT DE PASSE ROOT)
Now try logging into the machine, with "ssh 'root@111.222.333.444'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Tester une copie de fichier avec scp :
scp -i /root/.ssh/id_dsa /root/test.txt  root@111.222.333.444:/var/test
Cette commande copie le fichier /root/test.txt dans le dossier /var/test/ sur le serveur distant : 111.222.333.444

Testons maintenant la récupération du fihcier avec sftp :
sftp -o "IdentityFile /root/.ssh/id_dsa" root@111.222.333.444:/var/test/test.txt /root/test2.txt
Cette commande va donc récupérer le fichier /var/test/test.txt du serveur distant: 111.222.333.444 vers le serveur local sous le nom /root/test2.txt

Commentaires (6)

Toine - 09/11/2011 à 15h31
sympathique tuto sauf que l'on me demande toujours le password donc pas très efficace

Nicolo - 18/11/2011 à 12h30
Une erreur s'était glissé dans le tuto :
Remplacer :
"IdentityFile /etc/ssh/ssh_host_rsa_key"
Par :
"IdentityFile /root/.ssh/id_dsa"
Pour la commande sftp et ça fonctionne

Toine - 18/11/2011 à 14h34
j'ai fini par trouvé, en fait cela venait des droits attribués à ma clé, je l'avais mis en 777 histoire d'étre tranquille pour mes tests, et en restreignant les droits cela fonctionne

Nicolo - 06/06/2012 à 10h09
En effet, de manière général on met 600 sur la clé privée et 644 sur la clé publique

Watchix - 30/07/2012 à 18h11
J'adore l'exemple d'adresse IP surtout le 333 et 444 :)

Nicolo - 31/07/2012 à 12h07
C'est fait exprès, au moins on pense à le modifier ;-)

Commentez cet article

Nom (obligatoire)
E-mail (obligatoire)
Site Internet (facultatif)
code anti-spam

Me tenir inform� des nouveaux messages


terminal.pngCommandes de base Debian et Ubuntu
Liste de commandes Linux les plus utilisées et les plus courantes sous Debian et Ubuntu avec les options qui vont biens
mycomputer.pngInstaller le serveur FTP Proftpd avec le module MySQL et stocker les utilisateurs dans une base de données MySQL sous Linux Debian Lenny
Ce tutoriel vous présente comment installer le serveur FTP Proftpd lié à MySQL sous Linux Debian Lenny ainsi que la gestion de vos utilisateurs dans une table MySQL
terminal.pngInstallation d'Apache 2.0 et PHP 5.1
Tutoriel d'installation d'Apache 2.0 et PHP 5.1 sous Debian Sarge à partir des paquets backports.org
terminal.pngVider la mémoire cache d'un serveur Linux Debian
Ce tutoriel vous présente comment récupérer la mémoire cache alouée mais non utilisée par le système afin de la rendre disponible aux processus qui en ont besoin.
cal.pngCorriger l'erreur mysql Table './bacula/File' is marked as crashed and should be repaired avec myisamchk sous linux debian
Ce tutoriel vous présente comment réparer une table mysql crashée au format myisam avec l'utilitaire myisamchk
date.pngSynchroniser l'heure de son serveur Debian Sarge sur Internet
Ce tutoriel vous présente comment garder son serveur Debian Sarge à l'heure en le synchronisant à un serveur de temps ntp avec ntp-simple
terminal.pngCréation d'un virtualhost sous apache2
Ce mini tutoriel vous présente comment créer un virtualhost apache
encrypted.pngProtéger un dossier web apache2 par login et mot de passe avec un htaccess et un htpasswd sous debian lenny
Ce tutoriel vous présente comment protéger un répertoire web apache2 par login et mot de passe avec un htaccess et un htpasswd sous debian lenny
cdcopy.pngMettre à jour debian etch 4.0 vers debian lenny 5.0
Ce mini tutoriel vous explique comment mettre à jour votre distribution stable debian de etch 4.0 à lenny 5.0