关闭root用户的SSH密码登陆

一台自用的服务器,开放SSH服务,看日志发现总会有人扫弱口令,为了安全干脆关闭密码登陆,只允许密钥登陆。但是这台服务器上还有其他账号,必须使用口令验证。查阅了SSHD的手册,发现这也不难,配置文件支持对特定用户进行特殊配置:只要使用“match”关键字进行配置。

对于root用户关闭密码验证登陆,可以在配置文件/etc/ssh/sshd_config的最后加入:

Match User root
PasswordAuthentication no

重启sshd服务器:

service sshd restart

这样,其他用户可以继续使用密码登陆,root用户就不可以了。

几处值得注意的地方:

  • “match”关键字除了可以配合“User”使用之外,还可以配合Group、Host、和 Address 进行配置。
  • “match”关键字首次出现之后,其后出现的配置,都将针对这User(或Group、Host和Address),直至下个match再次出现。这是要把这个配置放到配置文件最后的原因。
  • “match”支持配置的参数还有如下:AllowAgentForwarding, AllowTcpForwarding, Banner, ChrootDirectory, ForceCommand, GatewayPorts, GSSAPIAuthentication, HostbasedAuthentication, KbdInteractiveAuthentication, KerberosAuthentication, KerberosUseKuserok, MaxAuthTries, MaxSessions, PubkeyAuthentication, AuthorizedKeysCommand, AuthorizedKeysCommandRunAs, PasswordAuthentication, PermitEmptyPasswords, PermitOpen, PermitRootLogin, RequiredAuthentications1, RequiredAuthentications2, RhostsRSAAuthentication, RSAAuthentication, X11DisplayOffset, X11Forwarding and X11UseLocalHost.

更多配置参看sshd的手册:http://linux.die.net/man/5/sshd_config

暂无评论

发表评论

电子邮件地址不会被公开。