什么时候该用这个 sshd_config?
用来恢复缺失的默认文件、确认发行版本带了什么,或拿你的 OpenSSH config 做 diff。
# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. # Include configuration snippets before processing this file to allow the # snippets to override directives set in this file. Include /etc/ssh/sshd_config.d/*.conf #Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_ecdsa_key #HostKey /etc/ssh/ssh_host_ed25519_key # Ciphers and keying #RekeyLimit default none # Logging #SyslogFacility AUTH #LogLevel INFO # Authentication: #LoginGraceTime 2m #PermitRootLogin prohibit-password #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 #PubkeyAuthentication yes # 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 #AuthorizedPrincipalsFile none #AuthorizedKeysCommand none #AuthorizedKeysCommandUser nobody # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts #HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for # HostbasedAuthentication #IgnoreUserKnownHosts no # Don't read the user's ~/.rhosts and ~/.shosts files #IgnoreRhosts yes # To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes #PermitEmptyPasswords no # Change to no to disable s/key passwords #KbdInteractiveAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #KerberosGetAFSToken no # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the KbdInteractiveAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via KbdInteractiveAuthentication may bypass # the setting of "PermitRootLogin prohibit-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and KbdInteractiveAuthentication to 'no'. #UsePAM no #AllowAgentForwarding yes # Feel free to re-enable these if your use case requires them. AllowTcpForwarding no GatewayPorts no X11Forwarding no #X11DisplayOffset 10 #X11UseLocalhost yes #PermitTTY yes #PrintMotd yes #PrintLastLog yes #TCPKeepAlive yes #PermitUserEnvironment no #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 #UseDNS no #PidFile /run/sshd.pid #MaxStartups 10:30:100 #PermitTunnel no #ChrootDirectory none #VersionAddendum none # no default banner path #Banner none # override default of no subsystems Subsystem sftp internal-sftp # Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server
curl https://exampleconfig.com/api/v1/config/original/4ec4f4a7572b429367318eb77a72ca17?hint=sshd_config
wget -O sshd_config https://exampleconfig.com/api/v1/config/original/4ec4f4a7572b429367318eb77a72ca17?hint=sshd_config
<prompt><role>DevOps agent</role><source url='https://exampleconfig.com/api/v1/config/original/4ec4f4a7572b429367318eb77a72ca17?hint=sshd_config' /><config><app>OpenSSH</app><os>Alpine Linux v3.21</os><location>/etc/ssh/sshd_config</location><lines>121</lines><md5>4ec4f4a7572b429367318eb77a72ca17</md5><sha256>ab49ac87619201b08d90cb38e61c15961c3b10c7705822ce0a3fbaca6b788980</sha256></config></prompt>
粘贴到 Claude、ChatGPT 或任何 AI 助手里。
sudo apk add openssh-server
sudo apt update && sudo apt install openssh-server
sudo yum install openssh-server
sudo apt update && sudo apt install openssh-server
什么时候该用这个 sshd_config?
用来恢复缺失的默认文件、确认发行版本带了什么,或拿你的 OpenSSH config 做 diff。
怎么恢复 OpenSSH 的默认配置?
下载文件,把 /etc/ssh/sshd_config 里的当前配置备份好,替换掉,然后 reload 或 restart OpenSSH。
sshd_config 适合直接上生产吗?
这是 Alpine Linux v3.21 的厂商默认配置,只能当基线。上生产前请检查安全和性能设置。
和其他 OS 版本有什么不同?
默认值会随发行版和版本变化,这份对应 Alpine Linux v3.21。
我可以用它来排查 OpenSSH 吗?
可以。和你的配置做 diff 找出漂移,然后只恢复需要的段落。