SSH configuration #
Kamal uses SSH to connect run commands on your hosts. By default it will attempt to connect to the root user on port 22
If you are using non-root user, you may need to bootstrap your servers manually, before using them with Kamal. On Ubuntu, you’d do:
sudo apt update
sudo apt upgrade -y
sudo apt install -y docker.io curl git
sudo usermod -a -G docker app
SSH options #
The options are specified under the ssh key in the configuration file.
ssh:
The SSH user #
Defaults to root
user: app
The SSH port #
Defaults to 22
port: "2222"
Proxy host #
Specified in the form or @
proxy: root@proxy-host
Proxy command #
A custom proxy command, required for older versions of SSH
proxy_command: "ssh -W %h:%p user@proxy"
Log level #
Defaults to fatal. Set this to debug if you are having
SSH connection issues.
log_level: debug
Keys Only #
Set to true to use only private keys from keys and key_data parameters, even if ssh-agent offers more identities. This option is intended for situations where ssh-agent offers many different identites or you have a need to overwrite all identites and force a single one.
keys_only: false
Keys #
An array of file names of private keys to use for publickey and hostbased authentication
keys: [ "~/.ssh/id.pem" ]
Key Data #
An array of strings, with each element of the array being a raw private key in PEM format.
key_data: [ "-----BEGIN OPENSSH PRIVATE KEY-----" ]