OVH Cloud OVH Cloud

Tunnel SSH

6 réponses
Avatar
Phil
Bonjour,

Pour sauvegarder un serveur linux (mandriva 2007) vers un autre (Red Hat 7),
j'utilise RSYNC et SSH.

sous le compte root (sur les 2 serveurs) j'ai créé un tunnel avec clef rsa
sans pb
lors de la connexion au serveur de sauvegarde je n'ai pas besoin de saisir
de mot de pass (ssh root@server_sauv.com).

J'ai refais la meme chose sour un autre compte (le meme sur les 2 server) ,
mais le serveur de sauvegarde me demamnde toujours le mot de pass (ssh
compte@server_sauv.com)

Voici ma façon de faire

Sur le serveur source sous le compte que je veux utiliser :
dans un terminal, dans le repertoire /home/compte/
ssh-keygen -t rsa (generation de la clef public/prive)
scp .ssh/id_rsa.pub compte@server_sauv.com:~ (Copie de la clef public
sur le server de sauvegarde)

Sur le serveur de suvegarde sous le meme compte dans un terminal, dans le
repertoire /home/compte/
mkdir .ssh (cration du repertoire /home/compte/.ssh)
cp -f id_rsa.pub .ssh/ (Copie de la clef dans .ssh)
rp -f id_rsa.pub (Suppresion de la clef original)
cd .ssh/
cat id_rsa.pub >> authorized_keys2 (ajout de la clef a la liste)

Sur le serveur source sous le compte que je veux utiliser :
dans un terminal, dans le repertoire /home/compte/
ssh-agent
(execution des lignes generées par la commande precedante)
ssh-add


Si vous voyez mon erreur !!!

Merci de m'expliquer


Phil

6 réponses

Avatar
François Patte
Bonjour,

<snip>


Voici ma façon de faire

Sur le serveur source sous le compte que je veux utiliser :
dans un terminal, dans le repertoire /home/compte/
ssh-keygen -t rsa (generation de la clef public/prive)
scp .ssh/id_rsa.pub :~ (Copie de la clef public
sur le server de sauvegarde)

Sur le serveur de suvegarde sous le meme compte dans un terminal, dans le
repertoire /home/compte/
mkdir .ssh (cration du repertoire /home/compte/.ssh)
cp -f id_rsa.pub .ssh/ (Copie de la clef dans .ssh)
rp -f id_rsa.pub (Suppresion de la clef original)
cd .ssh/
cat id_rsa.pub >> authorized_keys2 (ajout de la clef a la liste)


Je ne comprends pas 2 choses:

1- si le répertoire .ssh n'existe pas, quand on le crée avec mkdir, il
n'y a rien dedans, donc pas de fichier authorized_keys2; pourquoi alors:

cat id_rsa.pub >> authorized_keys2
^^

un seul ">" suffit pour la première fois.... Mais ça n'est pas grave!

2- pourquoi "2": authorized_keys2 ? authorized_keys suffit!

Attention: ne pas écrire en html sur les forums....

--
François Patte
Université Paris 5 - Paris

Avatar
Philippe WEILL
Phil wrote:

[...]


Voici ma façon de faire

Sur le serveur source sous le compte que je veux utiliser :
dans un terminal, dans le repertoire /home/compte/
ssh-keygen -t rsa (generation de la clef public/prive)
scp .ssh/id_rsa.pub :~ (Copie de la clef public
sur le server de sauvegarde)

Sur le serveur de suvegarde sous le meme compte dans un terminal, dans le
repertoire /home/compte/
mkdir .ssh (cration du repertoire /home/compte/.ssh)
cp -f id_rsa.pub .ssh/ (Copie de la clef dans .ssh)
rp -f id_rsa.pub (Suppresion de la clef original)
cd .ssh/
cat id_rsa.pub >> authorized_keys2 (ajout de la clef a la liste)



une bonne solution pour remplacer tout cela sans erreur
c'est

ssh-copy-id

Avatar
Christophe PEREZ
Le Mon, 23 Apr 2007 09:49:59 +0200, François Patte a écrit:

2- pourquoi "2": authorized_keys2 ? authorized_keys suffit!


Certaines machines sont configurées pour utiliser authorized_keys2. Je
l'ai déjà vu (des dédiés nfrance en particulier, de mémoire).

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Phil
Bonsoir,

Merci pour vos reponses,

J'ai fais :
cd /home/compte1
ssh-keygen -t rsa
cd .ssh
ssh-copy-id -i id_rsa.pub

Pour tester
ssh
Mais il me demande toujours le mot de pass

J'ai verifié sur le serveur de backup : /home/compte1/.ssh/authorized.keys =
id_rsa.pub
Que faire ?!!!
-------------------------------------------------
Avant d'envoyer se post j'ai fait un dernier test, suvant la doc de
ssh-copy-id

Sur serverback
Chmod ./ssh 555 et idem sur authorized_keys

Et la plus de mot de pass a entrer !!!
-------------------------------------------------

Pour info je debute sous linux et pour mettre au point mon projet j'utilise
cette doc :
http://www.supinfo-projects.com/fr/2004/samba_ssh/


Merci encore

Cordialement

Phil
"Philippe WEILL" a écrit dans le message de
news: f0i988$2a3t$


Phil wrote:

[...]


Voici ma façon de faire

Sur le serveur source sous le compte que je veux utiliser :
dans un terminal, dans le repertoire /home/compte/
ssh-keygen -t rsa (generation de la clef public/prive)
scp .ssh/id_rsa.pub :~ (Copie de la clef
public sur le server de sauvegarde)

Sur le serveur de suvegarde sous le meme compte dans un terminal, dans le
repertoire /home/compte/
mkdir .ssh (cration du repertoire /home/compte/.ssh)
cp -f id_rsa.pub .ssh/ (Copie de la clef dans .ssh)
rp -f id_rsa.pub (Suppresion de la clef original)
cd .ssh/
cat id_rsa.pub >> authorized_keys2 (ajout de la clef a la liste)



une bonne solution pour remplacer tout cela sans erreur
c'est

ssh-copy-id




Avatar
Nicolas.MICHEL
Phil wrote:

sous le compte root (sur les 2 serveurs) j'ai créé un tunnel avec clef rsa
sans pb
lors de la connexion au serveur de sauvegarde je n'ai pas besoin de saisir
de mot de pass (ssh ).


Donc ta clef fonctionne depuis root vers root.

J'ai refais la meme chose sour un autre compte (le meme sur les 2 server) ,
mais le serveur de sauvegarde me demamnde toujours le mot de pass (ssh
)


Tu refais la même chose c'est à dire que tu recopies la clef depuis un
autre utilisateur ?
Tu as refait la clef ou tu réutilises la même ?
Elles sont nominatives :
Ma clef publique finit par

Voici ma façon de faire
[snip]

J'ai pas bien suivit, mais voici la mienne, c'est un script et j'ai
jamais eu la moindre surprise avec (60 posts avec bkp rsync)

Je l'utilises comme suit :
putkey.sh

A lancer depuis le compte de l'utilisateur qui fera les backup rsync.

*************************
~> cat putkey.sh
#!/bin/sh

KEY="$HOME/.ssh/id_dsa.pub"

if [ ! -f ~/.ssh/id_dsa.pub ];then
echo "private key not found at $KEY"
echo "* please create it with "ssh-keygen -t dsa" *"
echo "* to login to the remote host without a password don't
give the key you create with ssh-keygen a password! *"
exit
fi

if [ -z $1 ];then
echo "Please specify as the first switch to this
script"
exit
fi

echo "Putting your key on $1... "

KEYCODE=`cat $KEY`
ssh -q $1 "echo "$KEYCODE" >> ~/.ssh/authorized_keys"

echo "done!"
*************************

--
Nicolas

Avatar
Nicolas.MICHEL
Nicolas MICHEL wrote:

ssh -q $1 "echo "$KEYCODE" >> ~/.ssh/authorized_keys"


Juste une chose, quand le dossier .ssh n'existe pas, ça crée une erreur
Il faut donc peut-être depuis le serveur, depuis le compte de
l'utilisateur, te loguer en ssh sur une autre machine.

--
Nicolas