💻Interactive CLI tool that you can connect to ec2 using commands same as start-session, ssh in AWS SSM Session Manager
gossmis interactive CLI tool that you should select server in AWS and then could connect or send files your AWS server using start-session, ssh, scp under AWS Systems Manger Session Manager.
gossmis interactive CLI tool that is related AWS Systems Manger Session Manager. It can select a ec2 server installed aws-ssm-agent and then can connect its server using start-session, ssh. As well as files can send using scp.
gossmtool, this mean there will no need to open inbound 22 port in your ec2 server when is using ssh or scp command.
mfacommand has added. this command is to authenticate through AWS MFA, and then to save issued a temporary credentials in $HOME/.aws/credentialsmfa. (default expired time is after 6 hours)
Support x86_64 ```bash
$ brew tap gjbae1212/gossm $ brew install gossm
$ wget https://github.com/gjbae1212/gossm/releases/download/v1.3.0/gossm1.3.0Darwinx8664.tar.gz
$ wget https://github.com/gjbae1212/gossm/releases/download/v1.3.0/gossm1.3.0Linuxx8664.tar.gz
$ wget https://github.com/gjbae1212/gossm/releases/download/v1.3.0/gossm1.3.0Windowsx8664.tar.gz ```
| args | Description | Default | | ---------------|-----------------------------------------------------------|------------------------| | -c | (optional) aws credentials file | $HOME/.aws/credentials | | -p | (optional) if you are having multiple aws profiles in credentials, it is name one of profiles | default | | -r | (optional) region in AWS that would like to connect | | | -t | (optional) instanceId of server in AWS that would like to connect | |
If your machine don't exist $HOME/.aws/.credentials, have to pass
[default] awsaccesskeyid = AWS ACCESS KEY awssecretaccesskey = AWS SECRET KEY ```
-tdon't pass args, it can select through interactive CLI.
$ gossm start
-emust pass args when is using scp.
-eargs is command and args when usually used to pass ssh or scp. ```bash
$ gossm ssh -e '[email protected]'
$ gossm ssh -e '-i key.pem [email protected]'
$ gossm ssh
$ gossm ssh -i key.pem
$ gossm scp -e 'file [email protected]:/home/blahblah'
$ gossm scp -e '-i key.pem file [email protected]:/home/blahblah'
#### cmd `-e` required args, it is a parameter for execute to command on selected servers.
It is to execute a command("uptime") on selected multiple servers, waiting for a response on its result.
$ gossm cmd -e "uptime"
-deadlineit's to set expire time for temporary credentials. default is 6 hours.
-deviceit's to set mfa device. default is your virtual mfa device.
bash $ gossm mfaMust set to
export AWS_SHARED_CREDENTIALS_FILE=$HOME/.aws/credentials_mfain .bash_profile, .zshrc.
This project is following The MIT.