Autorisation refusée lors de la tentative d'utilisation du fichier .plist launchd pour exécuter un script shell

StackOverflow https://stackoverflow.com/questions/8863370

Question

J'essaye de créer un nouveau fichier de lancement qui exécutera un script shell pour effectuer une sauvegarde sur un dossier ftp. le contenu du fichier .plist est le suivant:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" \
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.team.backup</string>
    <key>ProgramArguments</key>
    <array>
    <string>/Users/jackm/Documents/Uni/backup.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
    <dict>
    <key>Hour</key>
    <integer>15</integer>
    <key>Minute</key>
    <integer>30</integer>
    </dict>
    </array>
    <key>StandardErrorPath</key>
    <string>/Users/jackm/Documents/Uni/backup_err.log</string>
</dict>
</plist>

le fichier backup.sh est le suivant:

#!/bin/bash
scp -r username@thehost.co.uk:/the/ftp/folder/      "/Users/jackm/morefolders/Backups/D2 Backup/$(date '+%d-%b-%H:%M')"

Le fichier backup.sh fonctionne parfaitement lorsque j'exécute via un terminal, me demande un mot de passe puis télécharge le dossier. Lorsque j'utilise le launchd, je ne suis même pas invité à entrer un mot de passe, je reçois simplement ce qui suit dans le fichier journal des erreurs:

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

La liste launchctl donne au plist le statut 1. ~ / etc / ssh_config PasswordConfirmation est 1 le fichier .plist se trouve dans le dossier launchagents

Acclamations

Était-ce utile?

La solution

Lorsqu'il est exécuté via launchd, votre script n'a pas de tty interactif attaché et ne peut donc pas demander de mot de passe.Vous devez plutôt configurer l'authentification par clé publique .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top