Resposta: configure o login sem chave para scp e ssh na conta raiz local, para a conta de usuário remoto que está sendo conectada.
Entendi!
quando eu estava testando, eu estava logado como meu ID de usuário, mas quando ele estava rodando como um serviço, ele estava rodando como root.
Alterei os comandos abertos que abrem STDOUT e STDERR para / dev / null e os escrevi em um arquivo. Quando fiz isso, recebi o formulário de saída -v do scp. O que estava acontecendo era, scp estava rodando ssh, mas não estava passando o meu comando identity file -i, então ele estava tendo acesso negado, porque o id efetivo era root, e root não tinha chave na máquina remota para minha conta de usuário essa máquina para o ssh usar.
Eu passei pelas etapas para configurar o login sem senha, mas localmente como raiz, para minha conta de usuário normal remota.
Assim, meu login remoto (não-raiz) tinha as duas chaves para minha conta de usuário normal local e a conta raiz local; depois disso, ele começou a funcionar.
O processo agora está funcionando perfeitamente usando o scp como um serviço de servidor. scp não passando a opção -i para o ssh é o que causou essa bagunça.
Espero que isso ajude alguém tentando usar o cron do formulário scp ou outro script de tipo de serviço do servidor.