DROPBEAR(8)
π DROPBEAR(8) β like, the manual page, but make it make sense π
okay bestie, gather round, because we're reading the dropbear(8) page from the System Manager's Manual and I'm gonna hold your hand through every single line. it's giving β¨server girl summerβ¨. no cap.
πΈ NAME πΈ
dropbear β a lightweight SSH server. that's it. that's the girl. tiny, does her job, slays.
π SYNOPSIS π
dropbear [flag arguments] [-b banner] [-r hostkeyfile]
[-p [address:]port]
so you just... run dropbear with some flags and she's up. the flags you see in brackets are the optional little accessories. π
π¦ DESCRIPTION π¦
dropbear is a small SSH server. like, actually small. not "small" the way your ex said he was "working on himself". genuinely compact. π₯
β¨ OPTIONS β¨
here's the whole menu, no skips, no cuts, every single one:
-bbanner β bannerfile. shows the contents of the file banner before the user logs in. default: none, so no banner unless you ask for one.-rhostkey β use the contents of the file hostkey as the SSH hostkey. that file gets made withdropbearkey(1)or automatically via the-Roption. go peek at βHost Key Filesβ down below. π-Rβ generate hostkeys automatically. again, see βHost Key Filesβ. self-sufficient queen behavior.-Fβ don't fork into background. she stays right there in the foreground with you. clingy but cute.-Eβ log to standard error instead of syslog.-eβ pass the server environment on to all child processes. this is required, for example, if Dropbear is launched on the fly from a SLURM workload manager. the environment is not passed by default, jsyk.
β οΈ careful bestie: this could expose secrets sitting in environment variables from the calling process. use with caution. fr fr.
-mβ don't display the message of the day on login. bye motd π«Ά-wβ disallow root logins.-sβ disable password logins entirely.-gβ disable password logins for root specifically. (root, queen, you're on keys only now.)-tβ enable two-factor authentication. both password login and public key authentication are required. should not be used with the-soption. pick a struggle, honestly.-jβ disable local port forwarding. this includes unix stream forwards.-kβ disable remote port forwarding.-p[address:]port β listen on the specified address and TCP port. if you give just a port, she listens on all addresses. up to 10 of these can be specified, and the default is22if you specify none. π-linterface β listen on the specified interface.-iβ service program mode. use this to rundropbearunder TCP/IP servers likeinetd,tcpsvd, ortcpserver. in program mode the-Foption is implied, and-poptions are ignored. lowkey iconic for embedded stuff.-Ppidfile β specify a pidfile to create when running as a daemon. if you don't specify one, the default is/var/run/dropbear.pid.-aβ allow remote hosts to connect to forwarded ports.-Wwindowsize β specify the per-channel receive window buffer size. increasing this may improve network performance at the expense of memory use. use-hto see the default buffer size. (yes,-h, go look π)-Ktimeout_seconds β make sure traffic is transmitted at a certain interval, in seconds. super useful for working around firewalls or routers that drop connections after a certain period of inactivity. the trade-off? a session may be closed if there's a temporary lapse of network connectivity. a setting of0disables keepalives. and if no response is received for 3 consecutive keepalives, the connection will be closed. π-Iidle_timeout β disconnect the session if no traffic is transmitted or received for idle_timeout seconds.-Mβ set maximum session duration in seconds. all sessions will close after this time. if a compile-time setting was set (default is none), then setting-M 0will disable the session duration timeout.-zβ by default Dropbear sends network traffic with theAF21setting for QoS, letting network devices give it higher priority. some devices may have problems with that, so-zcan be used to disable it.-Tmax_authentication_attempts β set the number of authentication attempts allowed per connection. if unspecified, the default is10(MAX_AUTH_TRIES).-cforced_command β disregard the command/shell provided by the user and always run forced_command. this also overrides anyauthorized_keyscommand=option. the original command is saved in theSSH_ORIGINAL_COMMANDenvironment variable (see below).
the forced command is started using the user's normal shell, the same as occurs for normal commands.
unix stream forwarding is disabled when a forced command is set, since that may allow a bypass of the forced command. other SSH features such as TCP forwarding are still allowed by default β it may be desirable to disable those using the -j or -k options when using forced command. π«£
-Dauthorized_keys_dir β specify the directory to use forauthorized_keysfiles. the default is~/.ssh, and paths with a leading~/will be home directory expanded.-Qalgo β query supported algorithms. options arekex,sig,cipher,mac,compress.-Vβ print the version. short, sweet, iconic.
π FILES π
ποΈ Authorized Keys ποΈ
~/.ssh/authorized_keys can be set up to allow remote login with a Ed25519, RSA, or ECDSA key. the authorized_keys file and its containing ~/.ssh directory must only be writable by the user, otherwise Dropbear will not allow a login using public key authentication. so like... don't let anybody else touch your stuff. boundaries, bestie. π
each line is of the form
[restrictions] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIgAsp... [comment]
and can be extracted from a Dropbear private host key with dropbearkey -y. this is the same format as used by OpenSSH, though the restrictions are a subset (keys with unknown restrictions are ignored). restrictions are comma separated, with double quotes around spaces in arguments. the available restrictions are:
no-port-forwardingβ don't allow port forwarding for this connection, including unix streams.no-agent-forwardingβ don't allow agent forwarding for this connection.no-X11-forwardingβ don't allow X11 forwarding for this connection.no-ptyβ disable PTY allocation. note that a user can still obtain most of the same functionality with other means even ifno-ptyis set. πrestrictβ applies all theno-restrictions listed above. it's the bundle deal. πpermitopen="host:port"β restrict local port forwarding so that connection is allowed only to the specified host and port. multiplepermitopenoptions separated by commas can be set inauthorized_keys. wildcard character (*) may be used in port specification for matching any port. hosts must be literal domain names or IP addresses.permitlisten="port"β restrict remote port forwarding listeners to the given port. multiplepermitlisten="port"options separated by commas can be set inauthorized_keys. port can be0to allow the listen port to be dynamically allocated on the server.command="forced_command"β disregard the command provided by the user and always run forced_command. the-ccommand line option overrides this. see the-cdocumentation for behaviour of forced commands.
when using command= it is often desirable to also use the restrict option to avoid other SSH features that may allow additional access. π«Ά
π Host Key Files π
host key files are read at startup from a standard location, by default:
/etc/dropbear/dropbear_dss_host_key/etc/dropbear/dropbear_rsa_host_key/etc/dropbear/dropbear_ecdsa_host_key/etc/dropbear/dropbear_ed25519_host_key
if the -r command line option is specified, the default files are not loaded. host key files are of the form generated by dropbearkey(1). the -R option can be used to automatically generate keys in the default location β keys will be generated after startup when the first connection is established. this had the benefit that the system /dev/urandom random number source has a better chance of being securely seeded. β¨ entropy glow-up β¨
π Message Of The Day π
by default the file /etc/motd will be printed for any login shell (unless disabled at compile-time). this can also be disabled per-user by creating a file ~/.hushlogin. sometimes you just want peace and quiet, and honestly? valid.
π ENVIRONMENT VARIABLES π
Dropbear sets the standard variables USER, LOGNAME, HOME, SHELL, PATH, and TERM.
the variables below are set for sessions as appropriate.
SSH_TTYβ this is set to the allocated TTY if a PTY was used.SSH_CONNECTIONβ contains<remote_ip> <remote_port> <local_ip> <local_port>.DISPLAYβ set X11 forwarding is used.SSH_ORIGINAL_COMMANDβ if acommand=authorized_keys option was used, the original command is specified in this variable. if a shell was requested this is set to an empty value.SSH_AUTH_SOCKβ set to a forwarded ssh-agent connection.
β NOTES β
Dropbear only supports SSH protocol version 2. one protocol, done properly. main character energy. π
π¦ SEE ALSO π¦
https://matt.ucc.asn.au/dropbear/dropbear.html
π AUTHORS π
Matt Johnston <matt@ucc.asn.au>. Gerrit Pape <pape@smarden.org> wrote this manual page.
and that's the whole page, you made it, I'm so proud of you π₯Ή this one's from Debian, dated February 1, 2023 β so when you see DROPBEAR(8) floating around down there, you'll know exactly whose era it is. bye bestie, go set up your server π
πΈβ¨
π¦ where this page comes from
- arch rolling: dropbear 2026.94-1 Β· MIT
- nixpkgs unstable: dropbear 2026.94
- ubuntu stonking: dropbear-bin 2026.94-1ubuntu1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms