]> ruderich.org/simon Gitweb - config/dotfiles.git/blob - shell/sshd_config
0b7d95a33ca8422a4160f65219457d1a9755cca1
[config/dotfiles.git] / shell / sshd_config
1 # SSH daemon configuration file.
2 #
3 # Some options are set even if they are default to document that they are
4 # important and to prevent upstream changes from affecting them.
5
6 # Copyright (C) 2013-2016  Simon Ruderich
7 #
8 # This file is free software: you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
12 #
13 # This file is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this file.  If not, see <http://www.gnu.org/licenses/>.
20
21
22 # Listen on port 22 (default).
23 Port 22
24
25 # Only use protocol 2. Protocol 1 is insecure. (default)
26 Protocol 2
27
28 # Stronger algorithms. See ssh_config for details.
29 KexAlgorithms diffie-hellman-group-exchange-sha256
30 Ciphers aes256-ctr
31 MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-512
32
33 # Use privilege separation for increased security. "sandbox" applies
34 # additional restrictions on the unprivileged process.
35 UsePrivilegeSeparation sandbox
36
37 # Don't use PAM because it may circumvent other authentication methods used
38 # below (default).
39 UsePAM no
40 # Disable authentication methods I don't use.
41 ChallengeResponseAuthentication no
42 GSSAPIAuthentication no
43 HostbasedAuthentication no
44 KbdInteractiveAuthentication no
45 KerberosAuthentication no
46 PasswordAuthentication no
47 # Only enable those I need.
48 PubkeyAuthentication yes
49
50 # Don't allow empty passwords (default).
51 PermitEmptyPasswords no
52 # Allow root-login only with public keys.
53 PermitRootLogin without-password
54
55 # Be strict when checking user file permissions (default).
56 StrictModes yes
57
58 # Allow more sessions per network connection (e.g. from ControlMaster/-M).
59 # When not enough sessions are available this message is sent by ssh:
60 # "mux_client_request_session: session request failed: Session open refused by
61 # peer".
62 MaxSessions 30
63
64 # Don't accept any environment variables from the client (default).
65 AcceptEnv
66 # Don't use ~/.ssh/environment and environment= options in
67 # ~/.ssh/authorized_keys because LD_PRELOAD could be used to circumvent
68 # authentications (default).
69 PermitUserEnvironment no
70
71 # Send a message after the given seconds of inactivity through the encrypted
72 # channel. Used to detect stale connections more quickly. Not necessary on all
73 # servers.
74 #ClientAliveInterval 60
75 # Disconnect the client if more than max count alive messages were lost
76 # (default). With the setting above this detects a broken connection after 3
77 # minutes.
78 ClientAliveCountMax 3
79
80 # Enable sftp (and sshfs) usage. internal-sftp also works in chroots.
81 Subsystem sftp internal-sftp
82
83 # Only allow logins for certain users.
84 AllowUsers root