mirror of
https://gitea.blesmrt.net/mikaela/shell-things.git
synced 2024-12-23 19:22:46 +01:00
94 lines
3.2 KiB
Plaintext
94 lines
3.2 KiB
Plaintext
# OpenSSH /etc/ssh/sshd_config. I am removing commented lines for this to
|
|
# be more clear and if they are missed some day, just download
|
|
# upstream config file or take it from any distribution.
|
|
|
|
# Partially based on https://wiki.mozilla.org/Security/Guidelines/OpenSSH
|
|
# where some comments are took. Some options look like I don't want to
|
|
# change them to get updates when defaults change.
|
|
|
|
# No environment variable is accepted for security reasons, e.g.
|
|
# shellshock worked with remotely accepted environment variables.
|
|
#AcceptEnv LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
|
|
|
|
# IPv4 & IPv6
|
|
AddressFamily any
|
|
|
|
# Password based logins are disabled - only public key based logins are
|
|
# allowed.
|
|
AuthenticationMethods publickey
|
|
|
|
# The default is to check both .ssh/authorized_keys and
|
|
# .ssh/authorized_keys2 but this is overridden so installations will only
|
|
# check .ssh/authorized_keys.
|
|
AuthorizedKeysFile .ssh/authorized_keys
|
|
|
|
# File to send to client before authentication.
|
|
Banner /etc/issue.net
|
|
|
|
# Disable s/key passwords.
|
|
ChallengeResponseAuthentication no
|
|
|
|
# If the client doesn't reply in three "pings", connection is dead.
|
|
# Defaults to 3 anyway, but I add it here for clearity and
|
|
# in case it decides to change in the future.
|
|
ClientAliveCountMax 3
|
|
|
|
# "ping" the client every minute.
|
|
ClientAliveInterval 60
|
|
|
|
# HostKeys for protocol version 2.
|
|
HostKey /etc/ssh/ssh_host_ed25519_key
|
|
HostKey /etc/ssh/ssh_host_rsa_key
|
|
|
|
## IF THE HOST KEYS ARE MISSING, RUN THE FOLLOWING AS ROOT:
|
|
# ssh-keygen -t ed25519 -N "" -f /etc/ssh/ssh_host_ed25519_key
|
|
# ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key
|
|
|
|
# Listen on all IPv4 & IPv6 addresses.
|
|
ListenAddress 0.0.0.0
|
|
ListenAddress ::
|
|
|
|
# VERBOSE logging, logs user's key fingerprint on login. Needed to have a
|
|
# clear audit track of which key was using to log in.
|
|
LogLevel VERBOSE
|
|
|
|
# Disable tunneled clear text passwords!
|
|
PasswordAuthentication no
|
|
|
|
# Auditing reasons, difficult to track which process belongs to which root
|
|
# user.
|
|
PermitRootLogin No
|
|
|
|
# Listen on the following TCP ports, default 22.
|
|
Port 22
|
|
|
|
# Print /etc/motd (or /etc/profile or equivalent) on login. It's already
|
|
# done by PAM, so no need for duplicate MOTDs.
|
|
PrintMotd no
|
|
|
|
# Avoid enabling insecure protocol 1.
|
|
Protocol 2
|
|
|
|
## Enable SFTP. As the subsystem location varies, uncomment the one for the
|
|
## OS you use.
|
|
## Arch
|
|
#Subsystem sftp /usr/lib/ssh/sftp-server
|
|
## Debian
|
|
#Subsystem sftp /usr/lib/openssh/sftp-server
|
|
|
|
# Set this to 'yes' to enable PAM authentication, account processing,
|
|
# and session processing. If this is enabled, PAM authentication will
|
|
# be allowed through the ChallengeResponseAuthentication and
|
|
# PasswordAuthentication. Depending on your PAM configuration,
|
|
# PAM authentication via ChallengeResponseAuthentication may bypass
|
|
# the setting of "PermitRootLogin without-password".
|
|
# If you just want the PAM account and session checks to run without
|
|
# PAM authentication, then enable this but set PasswordAuthentication
|
|
# and ChallengeResponseAuthentication to 'no'.
|
|
UsePAM yes
|
|
|
|
# Use kernel sandbox mechanisms where possible in unprivilegied processes.
|
|
# Systrace on OpenBSD, Seccomp on Linux, seatbelt on MacOSX/Darwin,
|
|
# rlimit elsewhere.
|
|
UsePrivilegeSeparation sandbox
|