sshd服务对应的主配置文件是/etc/ssh/sshd_config,下面重点介绍下此文件关于安全方面的几个配置。先打开配置文件
[root@localhost ~]# vim /etc/ssh/sshd_config 主配置文件中各个配置选项的含义如下:
#Port 22 “Port”用来设置sshd监听的端口,为了安全起见,建议更改默认的22端口,选择5位以上的陌生数字端口。
Protocol 2 设置使用的SSH协议的版本为SSH1或SSH2,SSH1版本有缺陷和漏洞,因此这里选择Protocol 2即可。
#ListenAddress 0.0.0.0 “ListenAddress”用来设置sshd服务器绑定的IP地址。
#HostKey /etc/ssh/ssh_host_dsa_key “HostKey”用来设置服务器密钥文件的路径。
#KeyRegenerationInterval 1h “KeyRegenerationInterval”用来设置在多少秒之后系统自动重新生成服务器的密钥(如果使用密钥)。重新生成密钥是为了防止利用盗用的密钥解密被截获的信息
#ServerKeyBits 1024 “ServerKeyBits”用来定义服务器密钥的长度。
SyslogFacility AUTHPRIV “SyslogFacility”用来设定在记录来自sshd的消息的时候,是否给出“facility code”
#LoginGraceTime 2m “#LoginGraceTime”用来设置如果用户登录失败,在切断连接前服务器需要等待的时间,以秒为单位。
#PermitRootLogin yes “#PermitRootLogin”用来设置超级用户root能不能用SSH登陆。root远程登陆linux是很危险的,因此在远程SSH登陆Linux系统时,建议这个选项设置为“no”
#StrictModes yes “#StrictModes” 用来设置ssh在接受登陆请求之前是否检查用户根目录和rhosts文件的权限和所有权。建议将此选项设置为”yes”
#RSAAuthentication yes “#RSAAuthentication”用来设置是否开启RSA密钥严重,只针对SSH,如果采用RSA密钥登陆方式时,开启此选项。
#PubkeyAuthentication yes “#PubkeyAuthentication”用来设置是否开启公钥验证,如果采用公钥验证方式登陆时,开启此选项。
#AuthorizedKeysFile .ssh/authorized_keys “#AuthorizedKeysFile”用来设置公钥验证文件的路径,与PubkeyAuthentication配合使用。
#IgnoreUserKnownHosts no “#IgnoreUserKnownHosts” 用来设置SSH在进行RhostsRSAAuthentication安全验证时是否忽略用户的”$HOME/.ssh/known_hosts”文件。
#IgnoreRhosts yes “#IgnoreRhosts” 用来设置验证的时候是否使用”~/.rhosts“和”~/.shosts“文件。
#PasswordAuthentication yes “#PasswordAuthentication” 用来设置是否开启密码验证机制,如果使用密码登陆机制,应该设置为”yes”。
#PermitEmptyPasswords no “#PermitEmptyPasswords” 用来设置是否允许口令为空的帐号登陆系统,必须选择”NO”
#ChallengeResponseAuthentication yes ”#ChallengeResponseAuthentication“ 禁用s/key密码。
#UsePAM no “#UsePAM” 不通过PAM验证。
#X11Forwarding no “#X11Forwarding” 用来设置是否允许X11转发。
#PrintMotd yes “#PrintMotd” 用来设置sshd是否在用户登陆的时候显示”/etc/motd”中的信息,可以在/etc/motd中加入警告信息,以震慑攻击者。
#PrintLastLog yes “#PrintLastLog” 是否显示上次登陆信息,设置为”no”表示不显示。
#Compression delayed “#Compression” 是否压缩命令,建议选择”yes”.
#TCPKeepAlive yes “#TCPKeepAlive” 选择yes,防止死链接。
#UseDNS yes “#UseDNS” 是否使用DNS反向解析,这里选择”no”。
#MaxAuthTries 6 “#MaxAuthTries” 设置最大链接失败尝试登陆次数为3,合理设置此值,可以防止攻击者穷举登陆服务器。
AllowUsers<用户名>,指定允许通过远程访问的用户,多个用户以空格分割。
AllowGroups<组名>,指定允许通过远程访问的用户组,多个用户组以空格分割。
DenyUsers<用户名>,指定禁止通过远程访问的用户,多个用户以空格分割。
DenyGroups<组名>,制定禁止通过远程访问的用户组,多个用户组以空格分割。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/57664.html