Se você executar scp
como root, ele procurará por arquivos no diretório pessoal do root, incluindo o arquivo known_hosts
. Se a chave pública do servidor não estiver em ~/.ssh/known_hosts
, o ssh solicitará que o usuário pergunte se deseja adicionar a chave. Se não houver terminal para solicitar o usuário, o ssh se recusará a conectar, pois não pode garantir que o host seja o correto.
Você deve executar scp
como seu próprio usuário ( mytaskuser
).
su -c "scp -i ~/.ssh/id_rsa ~/some.log [email protected]:somelog${LOGDATE}.log" mytaskuser
Não passe a opção -l
para su
: que executa um shell de login, que ignora o comando passado com -c
.