SSH
工作端口为2021。
只允许用户user01,密码ChinaSkill23登录到router。其他用户(包括root)不能登录,创建一个新用户,新用户可以从本地登录,但不能从ssh远程登录。
通过ssh登录尝试登录到RouterSrv,一分钟内最多尝试登录的次数为3次,超过后禁止该客户端网络地址访问ssh服务。
记录用户登录的日志到/var/log/ssh.log,日志内容要包含:源地址,目标地址,协议,源端口,目标端口。
ssh怎么超出失败次数后禁止登录
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
檀越@新空间 2024-04-02 13:18关注下午好🌅🌅🌅
本答案参考ChatGPT-3.5要实现以上要求,可以按照以下步骤操作:
-
只允许用户user01登录到router,禁止其他用户登录:
- 修改SSH配置文件,一般为
/etc/ssh/sshd_config,找到#PermitRootLogin行并将其修改为PermitRootLogin no,禁止root用户登录。 - 找到
#AllowUsers行并将其修改为AllowUsers user01,只允许user01用户登录。 - 重启SSH服务使配置生效。
- 修改SSH配置文件,一般为
-
创建新用户,仅允许本地登录,禁止SSH远程登录:
- 使用
adduser命令创建新用户,例如newuser。 - 修改新用户的登录shell,使用
usermod命令将新用户的shell修改为/bin/false,这样新用户无法登录。 - 如果需要该用户在本地可以登录,可以将shell修改为其他能够登录的shell,如
/bin/bash。
- 使用
-
限制每分钟最多尝试登录次数,超过后禁止客户端访问SSH服务:
- 安装
fail2ban软件。在大多数Linux发行版中可以使用包管理工具直接安装,如apt install fail2ban或yum install fail2ban。 - 配置fail2ban,编辑
/etc/fail2ban/jail.conf文件,添加以下内容:
[sshd] enabled = true maxretry = 3 findtime = 1m bantime = 1hmaxretry表示最大尝试登录次数,这里设置为3次。findtime表示查找登录失败的时间窗口,这里设置为1分钟。bantime表示禁止访问的时间,这里设置为1小时。- 重启fail2ban服务使配置生效。
- 安装
-
记录用户登录日志到/var/log/ssh.log:
- 修改SSH配置文件
/etc/ssh/sshd_config,找到#SyslogFacility行并将其修改为SyslogFacility AUTH,使SSH日志输出到认证日志文件。 - (可选)修改rsyslog配置文件
/etc/rsyslog.conf,取消注释或添加以下行使认证日志写入单独的日志文件(在此例中是/var/log/ssh.log):
auth.* /var/log/ssh.log- 重启SSH服务和rsyslog服务使配置生效。
- 修改SSH配置文件
注意:在操作前请备份相关配置文件,以免操作失误导致系统不可用。
解决 无用评论 打赏 举报 编辑记录-