Загрузка файла с 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)).
есть несколько способов достичь того, что вы хотите
использовать s3cmd http://s3tools.org/s3cmd
или использовать cyberduck http://cyberduck.ch/
или написать инструмент с помощью 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-загрузить который делает все выше, но вы просто вкладок.