AWS EC2 SSH tool for easy access to all of your instances with a simple shell command

Sugar SSH

  • Node.JS of any recent vintage
  • SSH keys stored in ~/.ssh/ and named after the AWS keypairs
  • ~/.aws/config file with credentials (details)
    • For a good experience, include the region

npm install -g sugar-ssh

  • sugar <instance filter>
  • sugar <instance filter>@<profile>
  • sugar -f <port to forward> <instance filter>

If multiple instances match the filter, and they appear similar (based on Name), then one will be randomly chosen.

  • sugar http
  • sugar postgres@prod
  • sugar -f 8000 webserv@prod
  • --help displays help and exits
  • --dns prints only the DNS hostname of the target instance, then exits. Suitable for shell substitution
  • --list prints a table of all matching instances
  • --user <username> forces the username used for the server
    • Default: ubuntu
  • --key <keyname> overrides the key name for the instance
    • Specified keys will still be resolved using ~/.ssh/
  • -f <port> brings the remote instance's specified port to your local machine using an SSH tunnel
  • --ssh-opts prints only the full arguments list for ssh
    • Example: -i /home/user/.ssh/aws
    • Useful for embedding in custom ssh or scp calls