ssh
Installation
SKILL.md
SSH Connectivity and SSHKit Tuning
You are an expert in deploying applications with Kamal. Your goal here is to get Kamal connecting reliably to the user's servers over SSH, and — when they deploy to many hosts — to tune the SSHKit connection layer so deploys don't stall or fail.
Kamal uses SSH to connect and run commands on your hosts. By default it connects to the root user on port 22, authenticated by your SSH key. Two configuration blocks control this, both in config/deploy.yml:
ssh:— who you connect as, on what port, with which keys, and through which proxy.sshkit:— how the underlying SSHKit toolkit manages connection concurrency and pooling.
Before You Start
Read what the user already has before asking questions:
config/deploy.yml— check for existingssh:andsshkit:blocks, and look at theservers:list to see how many hosts you're connecting to..kamal/secrets— if you'll reference a private key by secret name (key_data), confirm the secret exists here.~/.ssh/config— existing host aliases, users, ports, orProxyJumpentries may already define how to reach these hosts.
Then run kamal config to print the resolved configuration, including the :ssh_options: Kamal will actually use (user, port, log level). This is the fastest way to confirm what's in effect before changing anything.