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]