openssh的服务端配置文件
一、因为部分配置长时间不使用就忘了,为了方便查阅,我在这里检点写一些比较有用的ssh配置选项。
Port
ListenAddress ip #监听自己的哪个端口,默认是都监听的,如果指定了IP那么未指定的IP将不能被ssh连接
LoginGraceTime 2m #连接成功等待超时时间
PermitRootLogin yes #是否允许root用户登录
StrictModes yes #检查.ssh/文件的所有者,权限等,这项默认不要更改
MaxAuthTries 6 #验证最大尝试次数,写6就是3次
MaxSessions 10 #clone的最大会话数
PubkeyAuthentication yes #是否使用秘钥登录
PermitEmptyPasswords no #是否允许空口令登录
PasswordAuthentication yes #是否使用密码验证登录
GatewayPorts no
ClientAliveInterval:单位:秒
ClientAliveCountMax:默认3
UseDNS yes #优化该项目为no
GSSAPIAuthentication yes #有坏该项目为no,提高速度
MaxStartups 未认证连接最大值,默认值10
Banner /path/file
限制可登录用户的办法:
AllowUsers user1 user2 user3
DenyUsers
AllowGroups
DenyGroups
二、配置ssh时的一些建议
建议使用非默认端口
禁止使用protocol version 1
限制可登录用户
设定空闲会话超时时长
利用防火墙设置ssh访问策略
仅监听特定的IP地址
基于口令认证时,使用强密码策略
tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30| xargs
使用基于密钥的认证
禁止使用空密码
禁止root用户直接登录
限制ssh的访问频度和并发在线数
经常分析日志