知识关系
所属体系: 数据中心与基础设施 / 安全与访问控制 主题节点: Linux查询ssh日志判断是否被入侵及加强ssh安全的办法 推荐前置: Linux技巧【持续更新】 相关主题: 记录一下我的Debian配置v2ray config.json 原始来源:
source/_posts/Linux查询ssh日志判断是否被入侵及加强ssh安全的办法.md从旧博客迁移;已按知识图谱结构重新归档。
查询ssh登陆日志的办法
journalctl _COMM=sshd可以查看sshd所有日志
# 查询ssh登陆失败总次数
journalctl _COMM=sshd | grep Failed |wc -l
#查询ssh登陆成功总次数
journalctl _COMM=sshd | grep Accepted |wc -l
#查询被多少不同IP爆破了
journalctl _COMM=sshd | grep "Failed" | awk '{print $(NF-3)}' | sort -u | wc -l
# 列出爆破你的IP
journalctl _COMM=sshd | grep "Failed" | awk '{print $(NF-3)}' | sort -u
# 列出成功登陆的IP
journalctl _COMM=sshd | grep -E "Accepted" | awk '{match($0, /([0-9]+\.){3}[0-9]+/); print substr($0, RSTART, RLENGTH)}' | sort -u加强ssh安全的办法
- 禁用root密码登陆
编辑/etc/ssh/sshd_config文件,默认会有PermitRootLogin prohibit-password
保持默认的prohibit-password可使root用户密码登陆时一直提示密码错误,而不是直接提示禁止密码登陆,起到迷惑入侵者的作用
还可配置PasswordAuthentication no使普通用户也无法通过密码登陆并提示需要publickey
- 修改ssh服务端口
编辑/etc/ssh/sshd_config文件,将默认的# Port 22修改为Port 20022或其他符合规定的端口
修改端口后ssh连接时需要使用-p 20022指定端口
使用scp上传文件时也需要在scp命令后紧跟着使用-P 20022指定端口
- ssh连接时使用指定的key进行验证
ssh客户端在连接服务器时可以使用-i参数使用指定的id_rsa私钥进行连接,需要注意,id_rsa私钥文件权限需为600,也就是仅所有者可读写
使用root指定私钥访问20022端口的服务器示例:
ssh -i ./myKeys/id_rsa -p 20022 [email protected]修改sshd_config文件后需要重启ssh服务,debian通常使用systemctl restart ssh即可