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,制定禁止通过远程访问的用户组,多个用户组以空格分割。