Amazon ec2 自动将文件从本地计算机传输到AWS jumphost

Amazon ec2 自动将文件从本地计算机传输到AWS jumphost,amazon-ec2,scp,Amazon Ec2,Scp,我正在尝试将文件从一个dev服务器自动备份到一个EC2实例。计划设置每天运行脚本的cron作业 这就是我想要实现的目标 本地服务器-->JUMPHOST-->EC2实例 Tar-ball在我的dev服务器中的目录(例如dev-svr20) 将tar-ball文件从dev服务器复制到AWS跳转主机 将tar-ball文件从跳转主机复制到AWS EC2实例 在AWS EC2服务器中提取tar球 我可以用一个脚本完成所有这些任务吗 我不确定是否可以在jumphost上运行一个脚本,该脚本将首先从dev

我正在尝试将文件从一个dev服务器自动备份到一个EC2实例。计划设置每天运行脚本的cron作业

这就是我想要实现的目标

本地服务器-->JUMPHOST-->EC2实例

  • Tar-ball在我的dev服务器中的目录(例如dev-svr20)
  • 将tar-ball文件从dev服务器复制到AWS跳转主机
  • 将tar-ball文件从跳转主机复制到AWS EC2实例
  • 在AWS EC2服务器中提取tar球
  • 我可以用一个脚本完成所有这些任务吗

    我不确定是否可以在jumphost上运行一个脚本,该脚本将首先从dev-svr20获取文件,然后移动到EC2实例


    我知道我们可以将文件从AWS jumphost下载到本地机器,或从本地机器上载到jumphost。但是,我们能换一种方式吗?我的意思是jumphost能否从远程服务器(dev-svr20)获取文件?

    当然,这是可能的。您需要编写一个在跳转服务器上执行的脚本。运行此脚本的用户必须能够通过SSH连接到dev服务器和EC2实例,因为您需要通过SSH执行其中一些命令

    该过程类似于:

    # Create the tarball on the dev server
    ssh user@dev-svr20 tar cvf /tmp/my_files.tar /path/to/some/dir
    # Copy the tarball to the jump server
    scp user@dev-svr20:/tmp/my_files.tar /tmp/my_files.tar
    # Copy the tarball to the EC2 instance
    scp /tmp/my_files.tar user@ec2-instance:/tmp/my_files.tar
    # Extract the tarball on the EC2 instance
    ssh user@ec2-instance tar xvf /tmp/my_files.tar
    

    像这样的工具可以为您简化一些步骤,或者您可以用Bash编写脚本。

    谢谢您的回复。我们不需要在dev-svr20和jumphost上使用amazon私钥(.pem)来启动这两者之间的文件传输吗?我面临的问题是,当我尝试在jumphost上运行scp命令以从本地服务器检索文件时,即使我输入了正确的密码,它也会不断询问密码。要使Mike脚本中的步骤1和2起作用,您需要在dev-svr20上使用localhost的私有ssh密钥。对于步骤3和步骤4,您需要dev-svr20上ec2实例的私钥。