Skip to content

A web-based SSH console to execute commands and manage multiple EC2 instances simultaneously running on Amazon Web Services (AWS).

License

Notifications You must be signed in to change notification settings

kilahimm/EC2Box

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EC2Box

A web-based ssh console to execute commands and manage multiple EC2 instances simultaneously running on Amazon Web Services (AWS). EC2Box allows you to share terminal commands and upload files to all your EC2 instances. Once the sessions have been opened you can select a single EC2 instance or any combination to run your commands. Also, additional instance administrators can be added and their terminal sessions and history can be audited.

Terminals

Demo

http://youtu.be/e00UD9dZ-wk

Prerequisites

Java JDK 1.7 or greater http://www.oracle.com/technetwork/java/javase/overview/index.html

Browser with Web Socket support http://caniuse.com/websockets

**Note: In Safari if using a self-signed certificate you must import the certificate into your Keychain. Select 'Show Certificate' -> 'Always Trust' when prompted in Safari

Maven 3 or greater ( Only needed if building from source ) http://maven.apache.org

To Run Bundled with Jetty

If you're not big on the idea of building from source...

Download ec2box-jetty-vXX.XX.tar.gz

https://github.com/skavanagh/EC2Box/releases

Export environment variables

for Linux/Unix/OSX

 export JAVA_HOME=/path/to/jdk
 export PATH=$JAVA_HOME/bin:$PATH

for Windows

 set JAVA_HOME=C:\path\to\jdk
 set PATH=%JAVA_HOME%\bin;%PATH%

Start EC2Box

for Linux/Unix/OSX

    ./startEC2Box.sh

for Windows

    startEC2Box.bat

How to Configure SSL in Jetty (it is a good idea to add or generate your own unique certificate)

http://wiki.eclipse.org/Jetty/Howto/Configure_SSL

To Build from Source

Export environment variables

export JAVA_HOME=/path/to/jdk
export M2_HOME=/path/to/maven
export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH

In the directory that contains the pom.xml run

mvn package jetty:run

**Note: Doing a mvn clean will delete the H2 DB and wipe out all the data.

Restricting User Access

Administrative access can be restricted through the use of tags defined in a user's profile. Profile tags must correspond to the instance tags that have been set through the AWS console.

Tags work on a name or name/value pair.

for example

tag-name
tag-name=mytag

or multiple

tag-name1,tag-name2
tag-name1=mytag1,tag-name2=mytag2

Using EC2Box

Open browser to https://<whatever ip>:8443

Login with

username:admin 
password:changeme

Steps:

  1. Set your AWS credentials
  2. Import the private key used on your EC2 systems (note: The EC2 server will only show if the private key has been imported)
  3. Start composite-ssh sessions or create and execute a script across multiple sessions
  4. Add instance administrator accounts
  5. Audit sessions for instance administrators

Screenshots

Two-Factor

Importing Keys

Select Instances

More Terminals

Upload Files

Disconnect

Acknowledgments

Special thanks goes to these amazing projects which makes this (and other great projects) possible.

Author

Sean Kavanagh

(Follow me on twitter for release updates, but mostly nonsense)

About

A web-based SSH console to execute commands and manage multiple EC2 instances simultaneously running on Amazon Web Services (AWS).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 59.4%
  • JavaScript 33.6%
  • FreeMarker 6.0%
  • CSS 1.0%