Você está perdendo o diretório de destino.
Tente:
scp -rp -i ~/.ssh/my-key.pem [email protected]:/home/ec2-user/a.txt /your/local/dir/
Eu estou tentando desesperadamente copiar alguns arquivos da máquina do AWS EC2, mas estou sofrendo com o seguinte.
scp
e rsync
reclamam que o caminho não existe quando eu crio um arquivo completamente novo em algum local (digamos /home/ec2-user/a.txt
) O comando que estou usando é
scp -rpi ~/.ssh/my-key.pem [email protected]:/home/ec2-user/a.txt
Eu criei o arquivo em ec2-user com touch a.txt
, então as permissões devem ficar bem (se isso for importante).
O conteúdo da pasta original que eu quero copiar é
-rw-r--r-- 1 webapp webapp 90 17. úno 2015 cron.yaml
drw-r--r-- 2 ec2-user ec2-user 4096 1. dub 13.09 db-backup
-rw-r--r-- 1 webapp webapp 2703 17. úno 2015 index.php
-rw-r--r-- 1 webapp webapp 189 17. úno 2015 logo_aws_reduced.gif
drwxrwxrwx 15 ec2-user ec2-user 4096 1. dub 17.35 martintour
drw-r--r-- 14 ec2-user ec2-user 4096 30. bře 20.52 master_martintour
-rw-r--r-- 1 webapp webapp 367 17. úno 2015 scheduled.php
-rw-r--r-- 1 webapp webapp 3490 17. úno 2015 styles.css
No entanto, apenas esta parte é copiada
-rw-r--r-- 1 pmensik pmensik 90 úno 17 2015 cron.yaml
-rw-r--r-- 1 pmensik pmensik 2703 úno 17 2015 index.php
-rw-r--r-- 1 pmensik pmensik 189 úno 17 2015 logo_aws_reduced.gif
-rw-r--r-- 1 pmensik pmensik 367 úno 17 2015 scheduled.php
-rw-r--r-- 1 pmensik pmensik 3490 úno 17 2015 styles.css
Portanto, parece que a opção -r
não está funcionando. E também não explica porque eu não posso copiar arquivos ou pastas recém-criados como eu mencionei anteriormente.
O comando que usei para isso é
scp -rpi ~/.ssh/my-key.pem [email protected]:/var/app/current .
Eu já joguei alterando as permissões, mas não estou completamente perdido.
Você está perdendo o diretório de destino.
Tente:
scp -rp -i ~/.ssh/my-key.pem [email protected]:/home/ec2-user/a.txt /your/local/dir/
Além do destino - a permissão é importante, porque você está efetuando login na instância com scp / rsync como ec2-user, não como root. No entanto, e. cron.yaml
é legível para qualquer pessoa, é por isso que foi transferido. Certifique-se de que a.txt
owner não seja 'root'.
Tente:
rsync -Hva --progress -e "ssh -i ~/.ssh/my-key.pem" [email protected]:/home/ec2-user/ ./
onde ./
é o seu diretório de destino local. Anote barras finais no final dos dois caminhos.
Tags rsync scp linux amazon-web-services