O problema é que scp tenta usar chaves privadas ssh que não estão no lugar - não há chaves nesessary id_rsa , id_dsa , id_ecdsa dentro do diretório
/data/data/com.termux/files/home/.ssh/
desde o comando
ls -la /data/data/com.termux/files/home/.ssh/
retorna
total 12
drwx------ 2 u0_a334 u0_a334 4096 Jul 25 12:33 .
drwx------ 36 u0_a334 u0_a334 4096 Jul 25 12:05 ..
-rw------- 1 u0_a334 u0_a334 0 Jul 25 12:33 authorized_keys
-rw-r--r-- 1 u0_a334 u0_a334 175 Jul 25 11:51 known_hosts
Existem duas possibilidades para corrigir o erro.
A primeira possibilidade é copiar chaves privadas solicitadas (possivelmente uma delas ou algumas delas) id_rsa , id_dsa , id_ecdsa no diretório /data/data/com.termux/files/home/.ssh/ .
A segunda possibilidade é instruir explicitamente scp para usar alguma chave privada definida com a opção -i (identity_file), ou seja,
scp -i /path/to/id_rsa file.txt [email protected]:/root
Se você não sabe onde seus arquivos de identidade são armazenados, mas ssh funciona (conforme observado no OP), execute a opção ssh with verbose e localize o caminho do log de conexão ao arquivo de identidade usado por ssh :
ssh -vvv [email protected]