All Projects → akittana → Aws Virtual Bastion

akittana / Aws Virtual Bastion

Licence: mit
A web based terminal for EC2 instances that does not require SSH or any other inbound connections to the instaces. Instead it uses the AWS Systems Manager (SSM) API to run commands (bash or powershell).

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Aws Virtual Bastion

Awsssmchaosrunner
Amazon's light-weight library for chaos engineering on AWS. It can be used for EC2, ECS (with EC2 launch type) and Fargate.
Stars: ✭ 214 (+28.92%)
Mutual labels:  aws, ec2, ssm
Aws Workflows On Github
Workflows for automation of AWS services setup from Github CI/CD
Stars: ✭ 95 (-42.77%)
Mutual labels:  aws, ec2
Aws Cli Cheatsheet
☁️ AWS CLI + JQ = Make life easier
Stars: ✭ 94 (-43.37%)
Mutual labels:  aws, ec2
Ecs Formation
Tool to build Docker cluster composition for Amazon EC2 Container Service(ECS)
Stars: ✭ 114 (-31.33%)
Mutual labels:  aws, ec2
Awesome Aws
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.
Stars: ✭ 9,895 (+5860.84%)
Mutual labels:  aws, ec2
Content Lambda Boto3
Automating AWS with Lambda, Python, and Boto3
Stars: ✭ 91 (-45.18%)
Mutual labels:  aws, ec2
Check Reserved Instances
Compare instance reservations and running instances for AWS services
Stars: ✭ 102 (-38.55%)
Mutual labels:  aws, ec2
Ec2 Metadata
An easy interface to query the EC2 metadata API, with caching.
Stars: ✭ 67 (-59.64%)
Mutual labels:  aws, ec2
Ssm Sh
Experiment to use SSM RunCommand instead of SSH
Stars: ✭ 140 (-15.66%)
Mutual labels:  aws, ssm
Terraform Aws Labs
Terraform template for AWS provider ☁️
Stars: ✭ 146 (-12.05%)
Mutual labels:  aws, ec2
Amazon Ec2 Instance Selector
A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory
Stars: ✭ 146 (-12.05%)
Mutual labels:  aws, ec2
Aws Automation
AWS automation scripts and lambda functions
Stars: ✭ 81 (-51.2%)
Mutual labels:  aws, ec2
Aws Inventory
Python script for AWS resources inventory (cheaper than AWS Config)
Stars: ✭ 69 (-58.43%)
Mutual labels:  aws, ec2
Rpcheckup
rpCheckup is an AWS resource policy security checkup tool that identifies public, external account access, intra-org account access, and private resources.
Stars: ✭ 91 (-45.18%)
Mutual labels:  aws, ec2
Cloud Security Audit
A command line security audit tool for Amazon Web Services
Stars: ✭ 68 (-59.04%)
Mutual labels:  aws, ec2
Awstaghelper
AWS bulk tagging tool
Stars: ✭ 98 (-40.96%)
Mutual labels:  aws, ec2
Autospotting
Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.
Stars: ✭ 2,014 (+1113.25%)
Mutual labels:  aws, ec2
Ec2connect
Stars: ✭ 53 (-68.07%)
Mutual labels:  aws, ec2
Terraform Aws Alb
Terraform module to provision a standard ALB for HTTP/HTTP traffic
Stars: ✭ 53 (-68.07%)
Mutual labels:  aws, ec2
Deploy Strapi On Aws
Deploying a Strapi API on AWS (EC2 & RDS & S3)
Stars: ✭ 121 (-27.11%)
Mutual labels:  aws, ec2

**AWS release of Session Manager makes this application mostly obselete. I would encourage you to check out AWS Session Manager instead.

Overview

A web based terminal for EC2 instances that does not require SSH or any other inbound connections to the instaces. Instead it uses the AWS Systems Manager (SSM) API to run commands (bash or powershell).

Run commands on multiple instances at once:

Run commands on multiple instances

Support for powershell:

Run Powershell commands

Keeps track of current directory: Keep track of directory

Key Features:

  1. Secure interactive command-line shell in the browser without exposing any ports on the instance.
  2. Keeps track of current directory which enables moving around the filesystem similar to a traditional shell session.
  3. Execute commands/scripts on multiple instances at once, as wel as having multiple terminal sessions concurrently.
  4. Automatically log all commands and their output in S3.

How it works

Virtual bastion (ssmTerminal) relies on the AWS Systems Manager (SSM) service. To use the service, instances need to have an agent installed (installed by default on the latest Amazon Linux and Windows EC2 instances). The SSM service can send commands (linux shell or windows powershell) to instances through the agents. Finally, EC2 instances require access to the SSM service (outbound access from the instances).

ssmTerminal communciates with the SSM service using the AWS API. Commands entered into the web terminal trigger the sendCommand API call, and once the commands are executed on the instance, the output is retrieved using the getCommandInvocation API call. The output is formatted and displayed by ssmTerminal.

In addition, with each command sent, a 'pwd' command is appended on each requested execution. This is used to keep track of the current directory as the user moves around the filesystem.

Authentication

Two authentication options are supported:

  • IAM user (Access Key and Secret Access Key). MFA (Multi-Factor Auth) token can be provided for additional security.
  • Cognito user pools with Federated Identity.

Configuration/Requirements

  • EC2 Instance Requirements Instances require the AWS Systems Manager (SSM) agent installed (the agent is installed by default on Windows instances and the latest Amazon Linux instances). In addition to the agent, ec2 instances also require the proper IAM role applied to allow communication with the SSM service.

  • User Requirements The IAM user or the Cognito Federated Identity role requires an IAM policy which allows the following actions:

    • ec2:DescribeRegions
    • ec2:DescribeInstances
    • ssm:SendCommand
    • ssm:DescribeInstanceInformation
    • ssm:ListInstanceAssociations
    • ssm:DescribeInstanceAssociationsStatus
    • ssm:GetCommandInvocation

More details can be found at: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-access.html

To use

Download index.html and client.min.js, both located under /src. It can be run locally or hosted on a webserver (or S3 bucket).

Compiling from source

If changes are made to the source code, then 'npm run prod_build' will recompile from source.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].