Загрузка файла с AWS с локальной машины

Как использовать команду scp для загрузки файла на сервер aws

  • у меня есть .файл pem в /Downloads на локальной машине
  • Я пытаюсь скопировать файл /images папка в AWS server

    какую команду я могу использовать ?

спасибо,

4 ответов


вы можете использовать plain scp:

scp -i ~/Downloads/file.pem local_image_file user@ec2_elastic_ip:/home/user/images/

вам нужно поместить эластичный IP-адрес в экземпляр EC2, открыть порт 22 для вашего локального компьютера IP в группе безопасности экземпляра EC2 и использовать правильного пользователя (это может быть ec2-user, admin или ubuntu (посмотрите документацию AMI)).


есть несколько способов достичь того, что вы хотите

  1. использовать s3cmd http://s3tools.org/s3cmd

  2. или использовать cyberduck http://cyberduck.ch/

  3. или написать инструмент с помощью amazon Java API


ответ Диего работает.. Однако, если вы не знаете о своем эластичном IP, то вы можете просто scp используя следующую команду (проверьте порядок аргументов)

scp-i путь-к-Ваш-идентификатор.Пем!-Файл будет скопирован -9--> ubuntu@public-IP:/требуются-путь

просто для справки, вот ubuntu является вашим пользователем AWS и public-IP несколько похоже на 54.2 xx.xxx.xxx например 54.200.100.100 или такие (Если заказ messed up: имя файла перед идентификатором, тогда вы получите Permission denied (publickey).lost connection ошибка)

кроме того, имейте в виду разрешения .. Должно быть 400 или 600. Не для всех. Надеюсь, это поможет!


другой альтернативный способ scp is rsync.

некоторые из преимуществ rsync

rsync cmd

rsync -ravze "ssh -i /home/your-user/your-key.pem "  --exclude '.env'  --exclude '.git/' /var/www/your-folder-to-upload/*  ubuntu@xx.xxx.xxx.xxx:/var/www/your-remote-folder

Теперь, если вы найдете это синтаксис немного подробный вы можете использовать aws-загрузить который делает все выше, но вы просто вкладок.