sshd_config配置说明(顺序来自CentOS)

作者: StellarGol | 来源:发表于2017-05-18 17:53 被阅读0次

    推荐使用man sshd_config指令获取配置文件详细说明

    Port 22                           
    AddressFamily any
    ListenAddress 0.0.0.0
    ListenAddress ::
    Protocol 2
    /*
    Port:sshd服务端口,预设22,也可以开放多个端口
    AddressFamily:使用地址族,any(默认)、inet(仅IPv4)、inet6(仅IPv6)
    ListenAddress:设置监听的地址
    Protocol:SSH协议版本
    */
    
    # HostKey for protocol version 1
    HostKey /etc/ssh/ssh_host_key
    # HostKeys for protocol version 2
    HostKey /etc/ssh/ssh_host_rsa_key
    HostKey /etc/ssh/ssh_host_dsa_key
    HostKey /etc/ssh/ssh_host_ecdsa_key
    HostKey /etc/ssh/ssh_host_ed25519_key
    /*
    主机私钥存放位置
    */
    
    KeyRegenerationInterval 1h
    ServerKeyBits 1024
    /*
    对于SSH-1协议中秘钥的过期时间和大小
    */
    
    # Logging
    SyslogFacility AUTH
    SyslogFacility AUTHPRIV
    LogLevel INFO
    /*
    SyslogFacility:日志系统选择
    LogLevel:日志等级选择
    */
    
    # Authentication:
    LoginGraceTime 2m
    PermitRootLogin yes
    StrictModes yes
    MaxAuthTries 6
    MaxSessions 10
    /*
    LoginGraceTime:限制认证时限
    PermitRootLogin:允许ROOT账户登录
    StrictModes:检查用户主目录和相关的配置文件
    MaxAuthTries:最大认证次数
    MaxSessions:最大保持连接数
    */
    
    RSAAuthentication yes
    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
    /*
    RSAAuthentication:SSH-1公钥认证
    PubkeyAuthentication:SSH-2公钥认证
    AuthorizedKeysFile:授权秘钥文件
    */
    
    # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
    RhostsRSAAuthentication no
    # similar for protocol version 2
    HostbasedAuthentication no
    # Change to yes if you don't trust ~/.ssh/known_hosts for
    # RhostsRSAAuthentication and HostbasedAuthentication
    IgnoreUserKnownHosts no
    # Don't read the user's ~/.rhosts and ~/.shosts files
    IgnoreRhosts yes
    /*
    RhostsRSAAuthentication:SSH-1强可信主机
    HostbasedAuthentication:SSH-2强可信主机
    IgnoreUserKnownHosts:认证过程中忽略用户的 ~/.ssh/known_hosts 文件
    IgnoreRhosts:认证过程中忽略 .rhosts 和 .shosts 文件
    */
    
    # To disable tunneled clear text passwords, change to no here!
    PasswordAuthentication yes
    PermitEmptyPasswords no
    /*
    PasswordAuthentication:使用密码认证
    PermitEmptyPasswords:允许密码为空账户登录
    */
    
    # Change to no to disable s/key passwords
    ChallengeResponseAuthentication yes
    /*
    ChallengeResponseAuthentication:是否允许质疑-应答(challenge-response)认证
    */
    
    # Kerberos options
    KerberosAuthentication no
    KerberosOrLocalPasswd yes
    KerberosTicketCleanup yes
    KerberosGetAFSToken no
    /*
    KerberosAuthentication:是否使用Kerberos认证
    KerberosOrLocalPasswd:如果 Kerberos 密码认证失败,那么该密码还将要通过其它的认证机制
    KerberosTicketCleanup:是否在用户退出登录后自动销毁用户的 ticket
    KerberosGetAFSToken:尝试获取一个 AFS token
    */
    
    # GSSAPI options
    GSSAPIAuthentication yes
    GSSAPICleanupCredentials no
    GSSAPIStrictAcceptorCheck yes
    /*
    GSSAPIAuthentication:是否允许使用基于 GSSAPI 的用户认证
    GSSAPICleanupCredentials:是否在用户退出登录后自动销毁用户凭证缓存
    GSSAPIStrictAcceptorCheck:是否严格检查GSSAPI的用户认证
    */
    
    # 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'.
    # WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several
    # problems.
    UsePAM yes
    /*
    UsePAM:是否使用PAM认证登录
    */
    
    AllowAgentForwarding yes
    AllowTcpForwarding yes
    GatewayPorts no
    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost yes
    PermitTTY yes
    PrintMotd yes
    PrintLastLog yes
    TCPKeepAlive yes
    UseLogin no
    UsePrivilegeSeparation sandbox      # Default for new installations.
    PermitUserEnvironment no
    Compression delayed
    ClientAliveInterval 0
    ClientAliveCountMax 3
    ShowPatchLevel no
    UseDNS yes
    PidFile /var/run/sshd.pid
    MaxStartups 10:30:100
    PermitTunnel no
    ChrootDirectory none
    VersionAddendum none
    /*
    AllowAgentForwarding:是否允许转发ssh-agent
    AllowTcpForwarding:是否允许TCP转发
    GatewayPorts:是否允许远程主机连接本地的转发端口
    X11Forwarding:是否允许进行 X11 转发
    X11DisplayOffset:指定X11 转发的第一个可用的显示区(display)数字
    X11UseLocalhost:是否应当将X11转发服务器绑定到本地loopback地址
    PermitTTY:是否允许pty分配
    PrintMotd:是否在每一次交互式登录时打印 /etc/motd 文件的内容
    PrintLastLog:是否在每一次交互式登录时打印最后一位用户的登录时间
    TCPKeepAlive:是否向客户端发送 TCP keepalive 消息
    UseLogin:是否在交互式会话的登录过程中使用 login
    UsePrivilegeSeparation:是否让 sshd 通过创建非特权子进程处理接入请求的方法来进行权限分离
    PermitUserEnvironment:是否允许 sshd处理environment
    Compression:是否对通信数据进行加密
    ClientAliveInterval:设置一个以秒记的时长,向客户端发送一个”alive”消息,并等候应答
    ClientAliveCountMax:sshd 在未收到任何客户端回应前最多允许发送多少个”alive”消息
    ShowPatchLevel:是否显示ssh的补丁信息
    UseDNS:是否应该对远程主机名进行反向解析
    PidFile:pid文件位置
    MaxStartups: 指定并发未认证的最大数量节点到SSH守护进程
    PermitTunnel:是否允许 tun 设备转发
    ChrootDirectory:指定chroot认证的路径名
    VersionAddendum:连接时指定附加文本
    */
    
    # no default banner path
    Banner none
    /*
    Banner:将这个指令指定的文件中的内容在用户进行认证前显示给远程用户
    */
    
    # Accept locale-related environment variables
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
    AcceptEnv XMODIFIERS
    /*
    AcceptEnv:指定客户端发送的哪些环境变量将会被传递到会话环境中
    */
    
    # override default of no subsystems
    Subsystem sftp  /usr/libexec/openssh/sftp-server
    /*
    Subsystem:配置一个外部子系统
    */
    
    NOTE

    1、 以上的所有说明配置命令均已去掉‘#’(注释符号),请勿直接copy使用
    2、 在修改sshd_config文件时,正确的姿势应该是在原配置文件中找到相关配置添加‘#’注释,再在文件末尾添加配置命令及选项
    3、以上内容并不完全来自于自己翻译,有部分摘自网络内容,如有侵权行为,请告知E-mail:gaohanxiang@126.com,本人会第一时间删除

    相关文章

      网友评论

        本文标题:sshd_config配置说明(顺序来自CentOS)

        本文链接:https://www.haomeiwen.com/subject/lkklxxtx.html