【问题标题】:Transfer a file from EC2 linux instance to a Windows system将文件从 EC2 linux 实例传输到 Windows 系统
【发布时间】:2017-04-17 06:10:43
【问题描述】:

我在 EC2 linux 系统上有一个计划任务,它每天生成一个文件。现在我想将此文件从该文件传输到另一台不在 AWS 上的 Windows 机器。

我只想在 EC2 实例上安排此作业。我不想从目标机器下载它,我想要 EC2 的上传工具。

我试过下面的命令:

scp -i (Key File for my current EC2 instance) (IP of target):(Local file path of current EC2 instance) D:\TEMP(Target Path of window machine)

我得到:

ssh: connect to host (IP of target) port 22: Connection refused

我们已经有了将文件存储在 S3 中的功能,但这取决于 EC2 实例的任务。 (有时需要 1 小时或有时需要 4 小时,这就是为什么我希望在此任务结束时使用它。)

【问题讨论】:

标签: linux amazon-web-services ssh amazon-ec2 scp


【解决方案1】:

您收到的错误很可能是由于您的 EC2 实例前面的 EC2 安全组或您的 Windows 服务器网络上的防火墙设置不正确造成的。

我想建议使用 Amazon S3 存储桶将文件从您的 EC2 实例上传到 S3。然后可以等待从您的 Windows 实例中收集该文件作为计划作业。您可以在 Windows 下载文件后从 S3 中删除该文件,或使用lifecycle policy 在一定时间后自动删除已保存的文件。

这将消除打开 SSH 到您的 EC2 实例的需要,并且还使您能够将文件保存在 S3 中,以便您可以在再次需要时重新下载它。

我不知道您使用的是什么技术堆栈,但您可以通过 AWS CLI 或您首选编程语言的 SDK 开始在两台服务器上使用 Amazon S3。

【讨论】:

  • 我们已经有了将文件存储在 S3 中的功能,但这取决于 EC2 实例的任务。 (有时需要 1 小时或有时需要 4 小时,这就是为什么我希望在此任务结束时使用它)。从 windows 或 s3 下载文件可能会导致下载较旧的文件,这是不可接受的(即使出现一次)
  • 好吧,那是有道理的。您是否检查过 EC2 实例的安全组确实允许 windows 服务器在端口 22 上连接以进行 SSH?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 2012-03-01
  • 2015-08-31
  • 1970-01-01
相关资源
最近更新 更多