Bonjour,
J'essaie d'automatiser un backup d'un Mac vers un autre Mac. Dans un des scripts shell, je fais un ssh vers le Mac serveur. En bon débutant qui respecte les bonnes règles, j'utilise les clefs privés et publiques des utilisateurs, donc sans nécessité de saisir un mot de passe.
Tout marche bien, que les scripts soient lancés depuis le terminal, ou depuis un agent Launchd.
J'ai aussi un script qui doit s'exécuter au démarrage du Mac serveur (il envoie son adresse IP au Mac sauvegardé). Le script s'exécute sans problème à partir du terminal ou de LaunchAgents (donc connecté sous un nom d'utilisateur). Par contre, depuis LaunchDaemons (donc sous l'utilisateur root) la commande ssh se fige car le Mac serveur attend une clef alors que root n'en a pas (en tous cas, je n'ai pas trouvé comment lui en donner une). Lorsque je fais un ssh -vv, les dernières infos reçues sont :
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req: entering
debug2: input_userauth_info_req: num_prompts 1
J'ai bien essayé avec sshpass -e SSHPASS, mais ça ne change rien, la commande ssh se fige au même endroit alors que SSHPASS contient le bon password de l'utilisateur distant.
Même souci si je mets SessionCreate à yes et UserName à userid dans la plist de LaunchDaemons.
Avez-vous déjà rencontré cette situation ? Comment vous en êtes-vous sortis ?
Christian
PS : en rajoutant les options ci-dessous à ssh, ça ne marche pas mieux.
-o StrictHostKeyChecking=no \
-o HostbasedAuthentication=no \
-o PubkeyAuthentication=no \
-o PreferredAuthentications=password
J'essaie d'automatiser un backup d'un Mac vers un autre Mac. Dans un des scripts shell, je fais un ssh vers le Mac serveur. En bon débutant qui respecte les bonnes règles, j'utilise les clefs privés et publiques des utilisateurs, donc sans nécessité de saisir un mot de passe.
Tout marche bien, que les scripts soient lancés depuis le terminal, ou depuis un agent Launchd.
J'ai aussi un script qui doit s'exécuter au démarrage du Mac serveur (il envoie son adresse IP au Mac sauvegardé). Le script s'exécute sans problème à partir du terminal ou de LaunchAgents (donc connecté sous un nom d'utilisateur). Par contre, depuis LaunchDaemons (donc sous l'utilisateur root) la commande ssh se fige car le Mac serveur attend une clef alors que root n'en a pas (en tous cas, je n'ai pas trouvé comment lui en donner une). Lorsque je fais un ssh -vv, les dernières infos reçues sont :
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req: entering
debug2: input_userauth_info_req: num_prompts 1
J'ai bien essayé avec sshpass -e SSHPASS, mais ça ne change rien, la commande ssh se fige au même endroit alors que SSHPASS contient le bon password de l'utilisateur distant.
Même souci si je mets SessionCreate à yes et UserName à userid dans la plist de LaunchDaemons.
Avez-vous déjà rencontré cette situation ? Comment vous en êtes-vous sortis ?
Christian
PS : en rajoutant les options ci-dessous à ssh, ça ne marche pas mieux.
-o StrictHostKeyChecking=no \
-o HostbasedAuthentication=no \
-o PubkeyAuthentication=no \
-o PreferredAuthentications=password
Dernière édition: