Bonjour,
Le script :
scp /home/pierre/shells/zoli.txt pierre@orion:/public/
Si le script est lancé manuellement, il fonctionne bien.
Si le script est lancé par le cron
il plante.
mon environnement :
2 machines sous Stretch
Certificat généré sur chaque machine sur le compte pierre
. Clé public copié dans chaque fichier authaurized_keys
distant. Dossier .ssh
en 700
et contenu en 600
.
sshd_config :
PermitRootLogin no
-
PasswordAuthentication no
Cela ne résout rien si je passe les 2 lignes à yes.
Connexion ssh
ok dans les 2 sens.
J’ai tenté l’option -i
pour forcer le chemin de l’emplacement du certificat – sans succès.
J’ai maintenu l’option -i
et j’ai ajouté le mode debug
:
scp -vvv -B -i /home/pierre/.ssh/id_rsa /home/pierre/shells/zoli.txt pierre@orion:/public/. >/home/pierre/shells/traces.txt 2>&1
J’ai d’abord lancé le script manuellement, ensuite je l’ai lancé via le cron
, puis j’ai comparé les traces :
Les 98 premières lignes sont strictement identiques :
Ligne 97 : input_userauth_pk_ok: fp SHA256:
Ligne 98 : sign_and_send_pubkey: RSA SHA256:
Ligne 99 : lancé manuellement : send packet: type 50
Ligne 99 : lancé par cron : we did not send a packet, disable method
Ligne 100 : lancé manuellement : receive packet: type 52
Ligne 100 : lancé par cron : No more authentication methods to try
Ligne 101 : lancé manuellement : Authentication succeeded (publickey)
Ligne 101 : lancé par cron : Permission denied (publickey)
Ligne 102 : lancé manuellement : Authenticated to orion ([192.168.101.4]:22)
Ligne 102 : lancé par cron : lost connection
Il n’y a pas d’autres lignes dans les traces du script lancé par cron
.
Donc, si j’en crois les logs, en passant par cron
j’ai un problème d’authentification. J’imagine que c’est un problème de droits ou d’accès lié au process cron
qui ne semble pas avoir les mêmes privilèges que l’utilisateur… (ce n’est pas root
?)
Je suis un peu (beaucoup) perdu… Si quelqu’un pouvait m’éclairer, ce serait vraiment sympa.
Merci d’avance