# OpenSSH server configuration file for IPFire # # The full documentation is available at: https://man.openbsd.org/sshd_config # # Only allow version 2 of SSH protocol Protocol 2 # Listen on port 22 by default Port 22 # Listen on every interface and IPv4 only AddressFamily inet ListenAddress 0.0.0.0 # Limit authentication timeout to 30 seconds LoginGraceTime 30s # Limit maximum instanctes to prevent DoS MaxStartups 5 # Only allow safe crypto algorithms KexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256 Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com # Only allow cryptographically safe SSH host keys (adjust paths if needed) HostKey /etc/ssh/ssh_host_ed25519_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_rsa_key # Only allow login via public key by default PubkeyAuthentication yes PasswordAuthentication no ChallengeResponseAuthentication no # Permit root login as there is no other user in IPFire 2.x PermitRootLogin yes # Ignore user ~/.ssh/known_hosts file IgnoreUserKnownHosts yes # Do not allow any kind of forwarding (provides only low security); # some of them might need to be re-enabled if SSH server is a jump platform AllowTcpForwarding no AllowAgentForwarding no PermitOpen none # Send SSH-based keep alive messages to connected clients to avoid broken connections ClientAliveInterval 10 ClientAliveCountMax 30 # Since TCP keep alive messages can be spoofed and we have the SSH-based already, # there is no need for this to be enabled as well TCPKeepAlive no # Add support for SFTP Subsystem sftp /usr/lib/openssh/sftp-server # EOF