Skip to content

This provider enables SSH port forwarding in Terraform.

License

Notifications You must be signed in to change notification settings

stefansundin/terraform-provider-ssh

Repository files navigation

terraform-provider-ssh

This provider enables SSH port forwarding in Terraform. It is intended as a bandaid until it is supported in Terraform itself.

This provider does not support Terraform v0.12 yet. There were some changes made that makes the upgrade non-trivial.

Example

See main.tf.

Installation

On Linux:

mkdir -p terraform.d/plugins/linux_amd64
wget https://github.com/stefansundin/terraform-provider-ssh/releases/download/v0.0.4/terraform-provider-ssh_v0.0.4_linux_amd64.zip
unzip terraform-provider-ssh_v0.0.4_linux_amd64.zip -d terraform.d/plugins/linux_amd64
rm terraform-provider-ssh_v0.0.4_linux_amd64.zip
terraform init

On Mac:

mkdir -p terraform.d/plugins/darwin_amd64
wget https://github.com/stefansundin/terraform-provider-ssh/releases/download/v0.0.4/terraform-provider-ssh_v0.0.4_darwin_amd64.zip
unzip terraform-provider-ssh_v0.0.4_darwin_amd64.zip -d terraform.d/plugins/darwin_amd64
rm terraform-provider-ssh_v0.0.4_darwin_amd64.zip
terraform init

Applying an output file

Note that there is a gotcha when trying to apply a generated plan output file (see issue #1). In this case, the SSH tunnels will not be automatically opened.

As a workaround, before you apply, run the companion program terraform-open-ssh-tunnels on the plan file first in order to reopen the SSH tunnels. Download from the releases.

Because of this commit, only the SSH agent is currently supported in this program. Let me know if you can think of a good fix for this.

TODO

  • Support another hop (ProxyJump-like behavior)
  • Note that the Windows binary is completely untested!