feat: add ssh server (sshd)
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
.TH SSHD 1
|
||||
.SH NAME
|
||||
sshd \- MontaukOS SSH-2 server
|
||||
.SH SYNOPSIS
|
||||
.B sshd
|
||||
.SH DESCRIPTION
|
||||
.B sshd
|
||||
accepts SSH-2 connections and gives each authenticated user a MontaukOS shell.
|
||||
|
||||
It is normally launched automatically by
|
||||
.BR init (1)
|
||||
and does not require direct user interaction. Remote access is disabled by
|
||||
default; enable it from Settings > SSH Server, which sets
|
||||
.I services.ssh.enabled
|
||||
in
|
||||
.IR 0:/config/init.toml .
|
||||
The change takes effect on the next boot.
|
||||
.SH AUTHENTICATION
|
||||
Passwords are the only supported method, checked against the MontaukOS account
|
||||
database. A user must additionally be listed in the
|
||||
.I [allow]
|
||||
table of
|
||||
.I 0:/config/ssh.toml
|
||||
before a login is accepted; users absent from that table are refused. The
|
||||
Settings applet maintains this table.
|
||||
|
||||
Failed passwords are delayed, and a connection is dropped after eight attempts.
|
||||
.SH CONFIGURATION
|
||||
.TP
|
||||
.I 0:/config/ssh.toml
|
||||
Listening port
|
||||
.RI ( server.port ,
|
||||
default 22) and the per-user
|
||||
.I [allow]
|
||||
table.
|
||||
.TP
|
||||
.I 0:/config/ssh_hostkey.toml
|
||||
The RSA host key, generated on first start. Note that the filesystem has no
|
||||
permission model, so this file is readable by any local process; keeping it
|
||||
separate from
|
||||
.I ssh.toml
|
||||
limits exposure but is not access control.
|
||||
.SH DIAGNOSTICS
|
||||
Messages go to the boot console only. They do not appear in
|
||||
.BR klog (1):
|
||||
.B SYS_PRINT
|
||||
writes the kernel terminal rather than the kernel log ring, and is discarded
|
||||
entirely once the desktop suppresses console output. There is currently nowhere
|
||||
to read them from on a running desktop.
|
||||
.SH PROTOCOL
|
||||
Key exchange is diffie-hellman-group14-sha256 with an rsa-sha2-256 host key;
|
||||
the transport uses aes128-ctr with hmac-sha2-256. Client-initiated rekeying is
|
||||
supported. Only one session channel per connection is served, and connections
|
||||
are handled one at a time.
|
||||
.SH LIMITATIONS
|
||||
Public key authentication, port forwarding, X11 forwarding, SFTP and SCP are not
|
||||
implemented.
|
||||
|
||||
.I exec
|
||||
requests run the command by feeding it to an interactive shell, so the shell
|
||||
prompt and the echoed command line appear in the output. Scripts that parse
|
||||
remote command output should account for this.
|
||||
.SH SEE ALSO
|
||||
.BR shell (1),
|
||||
.BR init (1)
|
||||
Reference in New Issue
Block a user