带有 SSH 身份验证的 WinSCP 到 S3

Posted

技术标签:

【中文标题】带有 SSH 身份验证的 WinSCP 到 S3【英文标题】:WinSCP to S3 with SSH authentication 【发布时间】:2021-11-20 17:39:33 【问题描述】:

非常简单的问题,但我找不到任何在线资源来说明是否可以这样做。我想将数据从 WinSCP 传输到 Amazon 环境中的 S3 存储桶,但我不想使用 IAM 策略创建 IAM 用户,而是想使用 SSH。

使用此方法背后的原因是绕过要求每 90 天轮换一次 IAM 凭证的新 AWS 要求。任何见解将不胜感激。

【问题讨论】:

您知道 S3 SFTP 传输服务吗?无论如何,这不是programming question。请在Super User 提问,那里可能会有更有用的答案。 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:

这是不可能的。 AWS S3 不支持 SSH。其请求必须由 AWS 签名流程签名,该流程使用 IAM 密钥、秘密和会话令牌。

如果您的 s3 操作在 EC2 实例上运行,您可以使用实例配置文件为您的应用程序提供短期访问凭证。 ecs 也一样,包括 fargate 和 lambda。

如果您以人类用户身份运行脚本,则可以使用 aws sso 或 IAM 联合从长期访问密钥转移到短期凭证。

或者,您可以使用代码管道之类的东西,根据来自 Github 等版本控制的更改自动代表您运行,这将消除您对 AWS 访问凭证的需求,而不是将该访问权限委托给 AWS 中的代码管道或其他东西。如果不了解您的用例,很难对这个选项说太多。

否则,您将无法处理凭据。在我看来,您应该将 90 天轮换视为其提供的安全性的可接受成本。

使用此方法背后的原因是绕过要求 IAM 凭证每 90 天轮换一次的新 AWS 要求

这听起来像是您的帐户强加给自己的要求——而且是一个很好的要求。我不知道 AWS 有任何此类要求。您能否提供断言的来源?

【讨论】:

谢谢@Daniel Farrell!我会尝试各种这些选项,并很好地抓住旋转阻挡器。这是该帐户强加给自己的东西,并且在某种程度上是不可协商的。感谢您的帮助,并将更新我可以巩固前进的道路。

以上是关于带有 SSH 身份验证的 WinSCP 到 S3的主要内容,如果未能解决你的问题,请参考以下文章

Amazon S3 是不是支持带有基本身份验证的 HTTP 请求

如何使用带有密码的 SSH 密钥身份验证“去获取”私有存储库

如何使用 ansible 推送带有 SSH 密钥身份验证的剧本

带有 openssh 密钥的 TortoiseGit 未使用 ssh-agent 进行身份验证

AWSS3TransferUtility 上传带有 Cognito 身份验证配置问题?

由于身份验证,gsutil 无法复制到 s3