Pregunta

Estoy tratando de crear un nuevo archivo de lanzamientogent que ejecute un script de shell para realizar una copia de seguridad en una carpeta FTP. El contenido del archivo .plist es el siguiente:

<?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>

El archivo de backup.sh es el siguiente:

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

El archivo Backup.sh se ejecuta absolutamente bien cuando ejecuto a través de Terminal, me pide una contraseña y luego descarga la carpeta. Sin embargo, cuando utilizo el LaunchD, ni siquiera recibo una contraseña, solo obtengo lo siguiente en el archivo de registro de errores:

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

LISTACTCTL LISTCE le da a la Plist que tiene el estado 1. ~/etc/ssh_config contraseña Confirmation es 1 El archivo .plist está en la carpeta de lanzamiento

Salud

¿Fue útil?

Solución

Cuando se ejecuta a través de LaunchD, su script no tiene un TTY interactivo adjunto y, por lo tanto, no puede solicitar una contraseña. Deberías configurar autenticación de clave pública en cambio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top