#mfa #aws #2fa #env-var

bin+lib aws-mfa

使用MFA验证AWS 🔐

56个版本 (18个稳定版)

1.0.17 2024年8月8日
1.0.16 2024年7月9日
1.0.15 2024年5月24日
1.0.13 2024年3月19日
0.2.7 2022年11月29日

#1031 in 命令行工具

Download history 135/week @ 2024-04-26 24/week @ 2024-05-03 24/week @ 2024-05-10 51/week @ 2024-05-17 216/week @ 2024-05-24 74/week @ 2024-05-31 96/week @ 2024-06-07 56/week @ 2024-06-14 45/week @ 2024-06-21 34/week @ 2024-06-28 224/week @ 2024-07-05 86/week @ 2024-07-12 54/week @ 2024-07-19 224/week @ 2024-07-26 161/week @ 2024-08-02 98/week @ 2024-08-09

每月下载量:547
aoss-curl中使用

MIT许可证

36KB
784

aws-mfa

Version Downloads License Build Release

使用MFA验证AWS 🔐

 aws-mfa
Authenticate to AWS with MFA 🔐

Usage: aws-mfa <COMMAND>

Commands:
  file  Authenticate to AWS with MFA using config and credentials files
  env   Authenticate to AWS with MFA using environment variables
  help  Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

安装

aws-mfa发布在crates.io上,可以使用以下命令安装

cargo install aws-mfa

或通过homebrew-tap使用以下命令

brew install jhandguy/tap/aws-mfa

或从发布页面下载二进制文件。

用法

配置和凭证文件

~/.aws/config中添加默认区域

[profile <profile_name>-noauth]
region = <aws_region>

[profile <profile_name>]
region = <aws_region>

~/.aws/credentials中添加基本凭证

[<profile_name>-noauth]
aws_access_key_id = <aws_access_key_id>
aws_secret_access_key = <aws_secret_access_key>

注意:确保将-noauth后缀添加到配置文件名中

运行aws-mfa file命令

aws-mfa file -p <profile_name> -c <mfa_code>

~/.aws/credentials中检查生成的凭证

cat ~/.aws/credentials
[<profile_name>]
aws_access_key_id = <aws_access_key_id>
aws_secret_access_key = <aws_secret_access_key>
aws_session_token = <aws_session_token>
aws_session_expiration_timestamp = <aws_session_expiration_timestamp>

环境变量

将默认区域和基本凭证作为环境变量导出

export AWS_REGION=<aws_region>
export AWS_ACCESS_KEY_ID=<aws_access_key_id>
export AWS_SECRET_ACCESS_KEY=<aws_secret_access_key>

执行aws-mfa env命令

eval $(aws-mfa env -c <mfa_code>)

检查导出的环境变量

env | grep AWS_
AWS_REGION=<aws_region>
AWS_ACCESS_KEY_ID=<aws_access_key_id>
AWS_SECRET_ACCESS_KEY=<aws_secret_access_key>
AWS_SESSION_TOKEN=<aws_session_token>
AWS_SESSION_EXPIRATION_TIMESTAMP=<aws_session_expiration_timestamp>

依赖项

~13–20MB
~305K SLoC