awsmfa
awsmfa copied to clipboard
replaces the credentials for MFA in AWS
awsmfa (AWS MFA Refresher)
awsmfa replaces the config and credentials for MFA in AWS.
Usage
$ awsmfa [options] [token-code]
- The config file uses
~/.aws/configby default. You can override it with the environment variableAWS_CONFIG_FILE. - The credentials file uses
~/.aws/credentialsby default. You can override it with the environment variableAWS_SHARED_CREDENTIALS_FILE.
Options
--profile string
The name of the profile from which the session can be obtained (default `default`)
--mfa-profile-name string
MFA profile name (default `mfa`)
--duration-seconds int64
Session expiration duration secounds (default `43200`)
--serial-number string
AWS serial number. `--serial-number` is required
--quiet bool
if enabled, log is not printed in the console. (default `false`)
Example
$ awsmfa --serial-number arn:aws:iam::123456789012:mfa/future-architect --profile my-profile 123456
2021/02/28 11:01:49 Wrote session token for profile mfa, expiration: 2021-02-28 14:01:49.689 +0000 UTC
initial
.aws/config
| Before | After |
|---|---|
|
|
.aws/credentials
| Before | After |
|---|---|
|
|
next time
Update aws_access_key_id, aws_secret_access_key and aws_session_token in the target section (default is mfa) of .aws/credentials.
Installation
- From binary
# Install the latest version. (Install it into ./bin/ by default).
$ curl -sfL https://raw.githubusercontent.com/future-architect/awsmfa/master/install.sh | sh -s
# Specify installation directory ($(go env GOPATH)/bin/) and version.
$ curl -sfL https://raw.githubusercontent.com/future-architect/awsmfa/master/install.sh | sh -s -- -b $(go env GOPATH)/bin [vX.Y.Z]
On Windows, you can run the above commands with Git Bash, which comes with Git for Windows.
- From source code
$ go install github.com/future-architect/awsmfa/cmd/awsmfa@latest