LazySSH uses HCL as its configuration format. By default it'll try to read
config.hcl
in the current working directory, but a different file can be
specified using command-line arguments:
lazyssh -config ./filename.hcl
The SSH server itself is configured with the server
block. The following
example HCL lists all available options:
server {
# The address the server will listen on.
listen = "localhost:7922" # The default
# The SSH host key the server uses to identify itself. (Required)
host_key = <<-EOF
-----BEGIN OPENSSH PRIVATE KEY-----
[...]
-----END OPENSSH PRIVATE KEY-----
EOF
# A single SSH public key the client uses to identify itself. (Required)
authorized_key = <<-EOF
ssh-ed25519 [...]
EOF
}
The config file further contains any number of target
blocks. These are all
in the format:
target "<address>" "<type>" {
# Type-specific settings
}
Where <address>
is the virtual address the SSH client can connect to through
this jump-host, and <type>
is one of the supported target types by LazySSH.
Target types and their settings are documented separately: