Скопируйте файл с эластичного beanstalk на локальную машину

Я подключился к Elastic Beanstalk, используя:

eb ssh XXXXXX --profile = xx

Теперь я хочу скопировать файл на свою локальную машину, как мне это сделать?

Ответ 1

Чтобы выяснить, какой IP-адрес и ключевой файл использовать с scp, вы можете запустить eb ssh my-env-name и обратите внимание на первые несколько строк вывода:

  INFO: SSH port 22 open.
  INFO: Running ssh -i /Users/MyHome/.ssh/eb.pem [email protected]<eb-env-ip-address>

Затем мы можем использовать эти детали для фактической команды scp (заменив ssh на scp и добавив пути к файлам):

  scp -i /Users/MyHome/.ssh/eb.pem [email protected]<eb-env-ip-address>:/path/to/file .

Ответ 2

Вы можете использовать регулярную команду scp.

scp -i ~/.ssh/beanstalk-env-key.pem [email protected]:/path/to/file.txt ./file.txt

Ответ 3

Я думаю, что ответ pscl - лучший. Это очень просто и всего 2 шага.

Но, если вы хотите списать его и, возможно, сделать только один шаг, вы можете построить ответ на Михал здесь.

scp -i ~/.ssh/yourkey.pem ~/localfile [email protected]'aws ec2 describe-instances --filters "Name=tag:elasticbeanstalk:environment-name,Values=ENVIRONMENT_NAME" --query 'Reservations[].Instances[].PublicIpAddress' --output text':~/

Вы можете легко написать псевдоним. Следующим шагом будет разработка способа динамической замены имени среды на основе текущей ветки.