【问题标题】:Can I run aws cli once I ssh into AWS or: can ssh access give the same commands as AWS?SSH 进入 AWS 后是否可以运行 aws cli 或者: ssh 访问是否可以提供与 AWS 相同的命令?
【发布时间】:2019-10-02 03:39:13
【问题描述】:

这是我的问题:我对 ssh 比对 aws cli 更熟悉,所以当我 ssh 进入一个实例时,我可以运行“whoami”和任何命令,看看我是如何使用 root 的 ec2 用户(也许?)访问级别那么我可以使用 aws cli 执行相同的操作,例如:create-instance、stop-instances 吗?

甚至可能更变态和无用的东西:我可以在登录 ssh 后运行 aws cli 吗?并且由于我已登录,因此需要使用密钥/密钥吗?

【问题讨论】:

  • 还有 - 如果我在 ssh 会话中简单地输入“aws”会发生什么?我应该 ssh 到 aws 并在登录后输入“aws”以查看...也许它会被视为只是一个 linux 命令?

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


【解决方案1】:

AWS Command-Line Interface (CLI) 是一个 Python 程序,它使用适用于 Python 的 AWS 开发工具包对 AWS 进行 API 调用。这些调用需要链接到 AWS 账户的 AWS 凭证。

AWS CLI 调用(以及对 AWS API 的任何调用)可以从 Internet 上的任何计算机进行,包括您自己的计算机和 Amazon EC2 实例。 Amazon EC2 实例的一个好处是能够为实例分配 IAM 角色,该实例可以自动提供凭证。任何其他计算机都需要将凭据存储在一个文件中,以便在进行 API 调用时使用。

因此,如果满足以下条件,您的 aws 命令将适用于 Amazon EC2 实例:

  • 您选择的 AMI 已安装 AWS CLI(所有 Amazon Linux AMI 均已安装)
  • 一个 IAM 角色已分配给实例

请注意,ssh 用于登录实例的凭证(ssh 密钥对)与用于向 AWS 进行 API 调用的凭证(访问密钥/秘密密钥)完全无关

【讨论】:

  • 谢谢,所以我刚刚通过 ssh 登录,运行 'whoami'...获得了 root - 好的,然后我尝试了这个:gist.github.com/kananlanginhooper/4e035d357d97c877448b - 这些密钥/密钥在 6 小时内有效吗?我需要aws cli吗?以及如何使用这个 python aws 程序远程连接到我的实例?我尝试在 ssh 中输入“aws”...得到“找不到命令”...奇怪吗?我在 ubuntu 实例上。
  • EC2 实例似乎没有安装 AWS CLI。您应该可以使用pip install awscli 安装它。 AWS CLI 将自动从分配给实例的 IAM 角色中提取密钥,因此您无需指定凭证即可运行 CLI 命令。
  • 知道了,现在看来 pip 没有安装,这怎么可能……虽然我有 python2.7 - 刚刚验证,但没有 python 3?我的意思是我想我应该创建一个新实例,也许这个似乎被剪掉了......
  • 如果不需要 Ubuntu,我会推荐 Amazon Linux 2。它已经安装了所有东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-11
  • 2020-07-29
  • 2020-07-15
  • 1970-01-01
  • 2019-03-20
  • 1970-01-01
  • 2018-02-01
相关资源
最近更新 更多