sshd_config配置详解

作者: 郭子渝 分类: 红帽认证 发布时间: 2020-04-18 10:42 本文共2813个字,阅读需要8分钟。
#指定ssh端口,默认22,把下面这行注释掉的话系统默认22端口,修改端口请注意selinux和防火墙
Port 22
#服务运行的协议簇,可以天如ipv4,ipv6,同时允许填写any,注释后系统默认any
#AddressFamily any
#服务监听的ip地址:0.0.0.0表示ipv4全网,::代表ipv6全网,注释后默认监听所有接口ip
#ListenAddress 0.0.0.0
#ListenAddress ::
#公钥文件绝对路径,因为不同的客户端可能支持不同的加密协议,所以一个服务端一般提供不止一个公钥,如sshv1只支持rsa,windows客户端支持ed25519,linux主要采用ecdsa协议
HostKey /etc/ssh/ssh_host_rsa_key  #rsa公钥文件地址
HostKey /etc/ssh/ssh_host_ecdsa_key #ecdsa公钥文件地址
HostKey /etc/ssh/ssh_host_ed25519_key #ed25519公钥文件地址
#是否开启公钥验证,默认开启
PubkeyAuthentication yes
#客户端公钥文件地址,免密登陆的时候读取这个文件的公钥,如果客户端有文件里面存储公钥所对应的私钥,就允许登陆
#默认指定的文件如下(家目录的.ssh/里面):
AuthorizedKeysFile	.ssh/authorized_keys
#是否关闭密钥登陆,我们选择no,否,不关闭,我觉得这个理解起来有点拗口。。
ChallengeResponseAuthentication no
#认证超时时间,2m表示两分钟,如果在两分钟内客户端没有返回密码或者
LoginGraceTime 2m
#允许root登录
PermitRootLogin yes
#检查authorized_keys文件权限,使用这个文件存储的公钥所对应的私钥可以登录这台服务器,所以为了安全,我们应该将此文件权限设置为600,禁止他人篡改文件,这个选项为yes的时候,如果文件属主或权限设置不正确,则不信任这个文件,禁用密钥登录
StrictModes yes
# 登陆成功前发送欢迎词的文件,none表示不发送
#Banner none
登陆成功后发送欢迎词的文件,none表示不发送
#AuthorizedPrincipalsFile none
AuthorizedKeysCommand可以指定一个脚本,这个脚本默认传入用户名,传出用户名对应公钥,可以对接Mysql等数据库,实现用户集中管理
#AuthorizedKeysCommand none
#指定执行AuthorizedKeysCommand脚本的用户
#AuthorizedKeysCommandUser nobody
#最大登陆尝试次数
MaxAuthTries 6
#最大会话数
MaxSessions 10
#是否允许密码登陆
PasswordAuthentication yes
是否允许空密码登陆
PermitEmptyPasswords no
#UseDNS 选项打开状态下,当客户端试图登录SSH服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,打开这个选项不过是在白白浪费时间而已,不如将其关闭。
UseDNS no
#以下内容博主也没用过,等待博主了解之后会更新,也希望有能理解以下参数的朋友来指导
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# 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
# override default of no subsystems
Subsystem       sftp    /usr/libexec/openssh/sftp-server
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
#KerberosUseKuserok yes
# GSSAPI options
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
#GSSAPIEnablek5users no
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# 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
如果觉得我的文章对您有用,请订阅我的博客。您的支持将鼓励我继续创作!
Scroll Up