SSH
SSH is another "contextual" block - just like setting a directory or environment variable.
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:
- SSH Agent - All keys loaded in your SSH agent
- SSH Config - Identity files specified in
~/.ssh/config - Default Keys - Standard SSH keys in
~/.ssh/: id_rsaid_ecdsaid_ecdsa_sk(FIDO/U2F security key)id_ed25519id_ed25519_sk(FIDO/U2F security key)id_xmssid_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.
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