Sigil is the hub of the Great Wheel, a city at the center of the Outlands, the most balanced of neutral areas at the center of the planes. Also known as the "City of Doors" for the multitude of portals to other planes of existence and the Cage since those portals are the only way in or out, it is the setting for most of Planescape: Torment.
Sigil is an AWS SSM Session manager client. Allowing access to EC2 instances without exposing any ports.
- configuration files support (TOML, YAML, JSON, etc.)
- support for different configuration profiles
- lightweight container image
- SSH and SCP support
- AWS session-manager-plugin (version 1.1.17.0+ for SSH support)
- target EC2 instance must have AWS SSM Agent installed (full guide) (version 2.3.672.0+ for SSH support)
- AWS ec2-instance-connect to use SSH with your own and/or temporary keys
- to support AWS SSM target EC2 instance profile should have AmazonSSMManagedInstanceCore managed IAM policy attached or a specific policy with similar permissions (check About Policies for a Systems Manager Instance Profile and About Minimum S3 Bucket Permissions for SSM Agent)
The manual can be found here.
brew tap danmx/sigil
brew install sigilor
brew install danmx/sigil/sigildocker pull danmx/sigil:0.7Docker:
docker run --rm -it -v "${HOME}"/.sigil:/home/nonroot/.sigil -v "${HOME}"/.aws:/home/.aws danmx/sigil:0.7 list --output-format wideBinary:
sigil -r eu-west-1 session --type instance-id i-xxxxxxxxxxxxxxxxxUsing with aws-vault:
aws-vault exec AWS_PROFILE -- sigil -r eu-west-1 session --type instance-id i-xxxxxxxxxxxxxxxxxAdd an entry to your ssh_config:
Host i-* mi-*
IdentityFile /tmp/sigil/%h/temp_key
IdentitiesOnly yes
ProxyCommand sigil ssh --port %p --pub-key /tmp/sigil/%h/temp_key.pub --gen-key-pair --os-user %r --gen-key-dir /tmp/sigil/%h/ %h
Host *.compute.internal
IdentityFile /tmp/sigil/%h/temp_key
IdentitiesOnly yes
ProxyCommand sigil ssh --type private-dns --port %p --pub-key /tmp/sigil/%h/temp_key.pub --gen-key-pair --os-user %r --gen-key-dir /tmp/sigil/%h/ %hand run:
ssh ec2-user@i-123456789or
By default configuration file is located in ${HOME}/.sigil/config.toml.
[default]
type = "instance-id"
output-format = "wide"
region = "eu-west-1"
profile = "dev"
interactive = trueSee CHANGELOG.md
To build binaries (development and release) run:
bazelisk build //...To run specific build use:
bazelisk build --config cross:[darwin|linux|windows]_amd64 :[dev|release]for working Docker image:
bazelisk build --config cross:linux_amd64 :[dev|release]-imageTo only build docker image run:
bazelisk run :dev-imageIt'll create a docker image tagged bazel:dev-image.
All contributions are welcomed!
I'm trying to follow Conventional Commits.
pre-commit install
pre-commit install --hook-type pre-push
bazelisk syncSigil was inspired by xen0l's aws-gate.