修改sshd默认配置,提升安全

对于Linux服务器,特别是暴露在公网的服务器,会经常被人扫描、探测和攻击。包括通过ssh访问登录攻击。对此,对默认的sshd配置进行调整,提升安全。

下面以CentOS 7.9为例说明:

一、常见安全措施

以root用户编辑vim /etc/ssh/sshd_config文件。修改以下配置:

bash 复制代码
#设置用户连接到sshd服务后,等待身份验证成功(登录成功)的时长。超过则连接被强制断开
LoginGraceTime 1m

#是否允许root用户直接ssh登录。默认yes允许。  no不允许(可先通过普通用户登录ssh后,再su切换用户)
PermitRootLogin yes

#StrictModes yes

#限制某个用户身份验证尝试的次数,超过则连接被强制断开
MaxAuthTries 6
             
#最大同时打开的ssh会话数                                                                                                                                                                                                        
#MaxSessions 10

以上修改完毕后,重启sshd服务生效:sudo systemctl restart sshd

二、修改ssh默认端口

ssh协议默认端口为22,容易被人猜测到。以root用户编辑vim /etc/ssh/sshd_config文件。修改以下配置。

bash 复制代码
#sshd对外暴露端口
Port 822

以上修改完毕后,重启sshd服务生效:sudo systemctl restart sshd

三、只允许公私钥登录,不允许密码登录ssh

为了放置密码泄密或者被暴露猜出,可以限制ssh只允许公私钥方式登录,不允许密码方式登录。

  • 先验证公钥方式登录

检查/etc/ssh/sshd_config文件中PubkeyAuthentication是否已经设置yes允许通过公钥方式登录。然后在客户端通过ssh-keygen工具生成公私钥对,然后将公钥拷贝至Linux服务器用户的.ssh目录下authorized_keys文件中。然后验证无需密码,通过密钥能否成功登录Linux。

原理参见:Linux ssh登录过程、免密码登录配置及各个文件关系详解_sshkey.tcl 文件-CSDN博客

  • 再禁止密码方式登录

以上公钥方式验证通过后。再以root用户编辑vim /etc/ssh/sshd_config文件。修改以下配置:

bash 复制代码
#允许通过公钥方式登录
PubkeyAuthentication yes

#禁止通过密码方式登录
PasswordAuthentication no

以上修改完毕后,重启sshd服务生效:sudo systemctl restart sshd

相关推荐
女神下凡1 天前
芯参谋(84):Linux eMMC 驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件
李纲明1 天前
WordPress 全站 HTTPS 后仍显示「不安全」或锁被划掉:先清混合内容,再核证书链与强制跳转
网络协议·安全·https·wordpress·devdiy·混合内容
腾科IT教育1 天前
TypeScript 泛型(Generics):类型占位符实现复用与安全
安全·typescript·泛型
无足鸟ICT1 天前
【RHCA+】vmstat命令(监控系统资源)
linux·服务器
闪亮的路灯1 天前
Linux 安装mqtt服务mosquitto
linux·运维·服务器
HideF1 天前
nmcli
linux·服务器·网络
qetfw1 天前
UOS DHCP Relay:跨网段分配与 IP、DNS、网关验证
linux·服务器·网络·tcp/ip·uos
赛博守夜人1 天前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
jimmyleeee1 天前
Agent安全之八:OWASP ASI08 级联失效------当每一个 Agent 都“正确”,系统却走向灾难
网络·安全·web安全
山东科恩光电1 天前
安全地毯压敏传感快速响应与耐腐蚀橡胶材质在工业危险区域的防护部署
安全