Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme avec ssh

2 réponses
Avatar
pascal
Bonsoir,

Je reviens un peu =E0 la charge avec mon probl=E8me de transfert (via scp) =
=20
de fichiers dump d'un serveur distant vers ma machine.

Je r=E9sume la situation:

Un serveur distant (SD) sur lequel se trouvent des fichiers dump que =20
je souhaite envoyer sur ma machine perso (MP) via scp et de fa=E7on =20
automatique (donc =E0 l'aide d'un script lanc=E9 par cron)

Je n'acc=E8de =E0 SD que par ssh depuis MP

En potassant le livre sur SSH de O'REILLY on me sugg=E8re d'utiliser les =20
deux agents ssh: ssh-agent et ssh-add. On me propose =E9galement, pour =20
ajouter plus de s=E9curit=E9, de cr=E9er un compte sp=E9cial avec le moins d=
e =20
droits possible et sous lequel sera ex=E9cut=E9e la t=E2che cron.

Pour faire tout ceci, j'ai proc=E9d=E9 ainsi:

Depuis MP je me logue en tant que root sur SD.
Puis je cr=E9e sur SD un groupe syst=E8me "sauvegarde" et un user =20
"sauvegarde" appartenant au groupe "sauvegarde".
Ensuite je fait un "su sauvegarde" pour effectuer les op=E9rations suivantes=
:

Cr=E9er la paire de clef:
~$ keygen -t dsa

Lancer l'agent:
~$ eval `ssh-agent`

Charger la clef priv=E9e:
~$ ssh-add

Placer la clef publique de l'utilisateur "sauvegarde" sur MP:
~$ scp .ssh/id_rsa.pub root@linuxorable.net:/root/.ssh/authorized_keys =20
(par la suite je ne me connecterai pas en tant que root)

A ce stade, si j'ex=E9cute mon script =E0 la main, mes fichiers dump sont =
=20
bien copier de SD sur MP

Mais l=E0 o=F9 je ne comprends plus ce que je dois faire, c'est que si je =
=20
me d=E9connecte du compte "sauvegarde" (et donc redeviens root sur SD) =20
et bien =E7a ne marche plus.

Or il est bien indiqu=E9 dans le bouquin que la m=E9thode de cr=E9ation de =
=20
ssh-agent (dite m=E9thode du shell unique - on devient vite savant avec =20
O'REILLY ;-) ) permet =E0 ce dernier de se d=E9connecter du shell pour se =
=20
lancer en arri=E8re plan.
Et d'ailleurs si je lance cette commande en tant que root sur SD:

ps aux |grep ssh-agent
sauvega 21479 0.0 0.0 4528 976 ? Ss 22:39 0:00 ssh-agent

je vois que l'agent tourne toujours

Pour tester, je me suis reconnect=E9 en tant que sauvegarde avec "su =20
sauvegarde" et lanc=E9 le script =E0 la main. Et l=E0 le script me demande =
=20
la passphrase.

Je ne vois pas ce que j'ai omis de faire.

Merci d'avance pour votre aide

Pascal

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

2 réponses

Avatar
pascal
Quoting :

En fait, je viens de me rendre compte que le problème est un peu plus
sérieux car en fait, le script ne fonctionne jamais (pas de fichier
copié de SD vers MP) lorsqu'il est lancé par cron.
Les fichiers ne sont copiés que si j'exécute le script à la main et en
tant que "sauvergarde" et à condition que le script soit lancé depuis
la même session à partir de laquelle j'ai lancé ssh-agent et ssh-add.

Pascal

Bonsoir,

Je reviens un peu à la charge avec mon problème de transfert (via
scp) de fichiers dump d'un serveur distant vers ma machine.

Je résume la situation:

Un serveur distant (SD) sur lequel se trouvent des fichiers dump que
je souhaite envoyer sur ma machine perso (MP) via scp et de façon
automatique (donc à l'aide d'un script lancé par cron)

Je n'accède à SD que par ssh depuis MP

En potassant le livre sur SSH de O'REILLY on me suggère d'utiliser
les deux agents ssh: ssh-agent et ssh-add. On me propose également,
pour ajouter plus de sécurité, de créer un compte spécial avec l e
moins de droits possible et sous lequel sera exécutée la tâche cron .

Pour faire tout ceci, j'ai procédé ainsi:

Depuis MP je me logue en tant que root sur SD.
Puis je crée sur SD un groupe système "sauvegarde" et un user
"sauvegarde" appartenant au groupe "sauvegarde".
Ensuite je fait un "su sauvegarde" pour effectuer les opérations suivant es:

Créer la paire de clef:
~$ keygen -t dsa

Lancer l'agent:
~$ eval `ssh-agent`

Charger la clef privée:
~$ ssh-add

Placer la clef publique de l'utilisateur "sauvegarde" sur MP:
~$ scp .ssh/id_rsa.pub :/root/.ssh/authorized_keys
(par la suite je ne me connecterai pas en tant que root)

A ce stade, si j'exécute mon script à la main, mes fichiers dump
sont bien copier de SD sur MP

Mais là où je ne comprends plus ce que je dois faire, c'est que si
je me déconnecte du compte "sauvegarde" (et donc redeviens root sur
SD) et bien ça ne marche plus.

Or il est bien indiqué dans le bouquin que la méthode de création de
ssh-agent (dite méthode du shell unique - on devient vite savant
avec O'REILLY ;-) ) permet à ce dernier de se déconnecter du shell
pour se lancer en arrière plan.
Et d'ailleurs si je lance cette commande en tant que root sur SD:

ps aux |grep ssh-agent
sauvega 21479 0.0 0.0 4528 976 ? Ss 22:39 0:00 ssh-agent

je vois que l'agent tourne toujours

Pour tester, je me suis reconnecté en tant que sauvegarde avec "su
sauvegarde" et lancé le script à la main. Et là le script me demande
la passphrase.

Je ne vois pas ce que j'ai omis de faire.

Merci d'avance pour votre aide

Pascal

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.





----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
Avatar
pascal
Quoting :

Finalement, la solution que j'ai trouvé c'est de ne pas mettre de
passphrase lors de la création de la paire de clef.

Pascal

Quoting :

En fait, je viens de me rendre compte que le problème est un peu
plus sérieux car en fait, le script ne fonctionne jamais (pas de
fichier copié de SD vers MP) lorsqu'il est lancé par cron.
Les fichiers ne sont copiés que si j'exécute le script à la main et
en tant que "sauvergarde" et à condition que le script soit lancé
depuis la même session à partir de laquelle j'ai lancé ssh-agent et
ssh-add.

Pascal

Bonsoir,

Je reviens un peu à la charge avec mon problème de transfert (via
scp) de fichiers dump d'un serveur distant vers ma machine.

Je résume la situation:

Un serveur distant (SD) sur lequel se trouvent des fichiers dump
que je souhaite envoyer sur ma machine perso (MP) via scp et de
façon automatique (donc à l'aide d'un script lancé par cron)

Je n'accède à SD que par ssh depuis MP

En potassant le livre sur SSH de O'REILLY on me suggère d'utiliser
les deux agents ssh: ssh-agent et ssh-add. On me propose
également, pour ajouter plus de sécurité, de créer un compte
spécial avec le moins de droits possible et sous lequel sera
exécutée la tâche cron.

Pour faire tout ceci, j'ai procédé ainsi:

Depuis MP je me logue en tant que root sur SD.
Puis je crée sur SD un groupe système "sauvegarde" et un user
"sauvegarde" appartenant au groupe "sauvegarde".
Ensuite je fait un "su sauvegarde" pour effectuer les opérations suivan tes:

Créer la paire de clef:
~$ keygen -t dsa

Lancer l'agent:
~$ eval `ssh-agent`

Charger la clef privée:
~$ ssh-add

Placer la clef publique de l'utilisateur "sauvegarde" sur MP:
~$ scp .ssh/id_rsa.pub :/root/.ssh/authorized_keys
(par la suite je ne me connecterai pas en tant que root)

A ce stade, si j'exécute mon script à la main, mes fichiers dump
sont bien copier de SD sur MP

Mais là où je ne comprends plus ce que je dois faire, c'est que si
je me déconnecte du compte "sauvegarde" (et donc redeviens root
sur SD) et bien ça ne marche plus.

Or il est bien indiqué dans le bouquin que la méthode de création
de ssh-agent (dite méthode du shell unique - on devient vite
savant avec O'REILLY ;-) ) permet à ce dernier de se
déconnecter du shell pour se lancer en arrière plan.
Et d'ailleurs si je lance cette commande en tant que root sur SD:

ps aux |grep ssh-agent
sauvega 21479 0.0 0.0 4528 976 ? Ss 22:39 0:00 ssh-agent

je vois que l'agent tourne toujours

Pour tester, je me suis reconnecté en tant que sauvegarde avec "su
sauvegarde" et lancé le script à la main. Et là le script me
demande la passphrase.

Je ne vois pas ce que j'ai omis de faire.

Merci d'avance pour votre aide

Pascal

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.





----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.





----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.