Skip to content

SSH

SSH is another "contextual" block - just like setting a directory or environment variable.

SSH Block
Example SSH usage
SSH Block
Example SSH usage

Insert an SSH block, and fill in the host. All following terminal or script blocks will now execute on the remote machine. If the block is going to execute on a remote machine, it will be outlined in blue.

Authentication

SSH authentication works like the standard ssh command, trying methods in this order:

  1. SSH Agent - All keys loaded in your SSH agent
  2. SSH Config - Identity files specified in ~/.ssh/config
  3. Default Keys - Standard SSH keys in ~/.ssh/:
  4. id_rsa
  5. id_ecdsa
  6. id_ecdsa_sk (FIDO/U2F security key)
  7. id_ed25519
  8. id_ed25519_sk (FIDO/U2F security key)
  9. id_xmss
  10. id_dsa

Tailscale SSH works as expected. Password-protected keys must be added to your SSH agent with ssh-add, though soon we will support full config in the UI.

Your SSH config is fully respected, including ProxyJump, ProxyCommand, IdentityAgent, and other options.

Running locally

If you wish to revert back to local execution, insert a "host" block.

SSH Block
Example SSH usage
SSH Block
Example SSH usage

In the future, the host block will support toggling between different connected machines. Right now, it only supports localhost

Connection pooling

Our SSH integration will only open a single SSH connection, and multiplex multiple sessions through it. This means that once connected, block execution will feel fast + low latency