Linux如何限制SSH远程访问_Linux限制SSH远程访问的配置指南
发布时间 - 2025-10-06 00:00:00 点击率:次限制SSH访问可提升服务器安全,具体措施包括:允许特定用户登录、禁用root远程登录、修改默认端口、启用密钥认证、部署fail2ban防暴力破解,组合使用可显著增强安全性。
限制SSH远程访问是提升Linux服务器安全性的基本操作。通过合理配置,可以有效防止暴力破解、未授权登录等风险。以下是一些常用且实用的方法来限制SSH远程访问。
1. 限制允许登录的用户
只允许可信用户通过SSH登录,能大幅降低被攻击的可能性。
方法: 编辑SSH服务配置文件,指定允许登录的用户。打开SSH配置文件:
sudo nano /etc/ssh/sshd_config
添加如下行,替换username为实际用户名:
AllowUsers user1 user2 admin@192.168.1.10
支持按IP限定特定用户登录,例如只允许admin从内网IP登录。
保存后重启SSH服务:
sudo systemctl restart sshd
2. 禁用root直接登录
root账户是常见攻击目标,禁止其远程直接登录是基本安全措施。
设置方法: 修改SSH配置禁用root登录。在/etc/ssh/sshd_config中找到或添加:
PermitRootLogin no
保存并重启sshd服务。如需临时使用root权限,可通过普通用户登录后执行su -或sudo命令。
3. 更改默认SSH端口
将SSH端口从22改为非常用端口,可减少自动化扫描和攻击尝试。
操作步骤: 修改端口配置并调整防火墙规则。编辑配置文件:
Port 2222
注意:取消该行前面的#号以生效。
同时更新防火墙(以firewalld为例):
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
重启sshd前确保新端口已放行,避免被锁在服务器外。
4. 使用密钥认证替代密码登录
密钥登录比密码更安全,且可配合禁用密码登录彻底杜绝暴力破解。
启用方式:生成密钥对(本地执行):
ssh-keygen -t rsa -b 4096
上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server -p 2222
然后在/etc/ssh/sshd_config中关闭密码认证:
PasswordAuthentication no
重启sshd服务使配置生效。
5. 配合fail2ban防止暴力破解
fail2ban能自动检测异常登录行为并封禁IP。
安装与启用:Ubuntu/Debian:
sudo apt install fail2ban
CentOS/RHEL:
sudo yum install epel-release && sudo yum install fail2ban
复制配置文件:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑jail.local,启用[sshd]模块:
[sshd] enabled = true maxretry = 3 bantime = 3600
保存后启动服务:
sudo systemctl enable fail2ban && sudo systemctl start fail2ban
基本上就这些。通过组合使用用户限制、非默认端口、密钥认证和入侵防御工具,能显著增强SSH访问的安全性。每次修改配置后记得测试连接,避免意外断连。安全配置不复杂但容易忽略细节,建议逐步实施并定期检查日志/var/log/auth.log或/var/log/secure。
# linux
# word
# centos
# 防火墙
# 端口
# ubuntu
# 工具
# ai
# 配置文件
# linux服务器
# var
# ssh
# debian
# 自动化
# 重启
# 用户登录
# 只允许
# 远程访问
# 为例
# 如需
# 可通过
# 方法来
# 内网
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何用狗爹虚拟主机快速搭建网站?
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
如何将凡科建站内容保存为本地文件?
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
在Oracle关闭情况下如何修改spfile的参数
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
详解Android——蓝牙技术 带你实现终端间数据传输
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何快速搭建虚拟主机网站?新手必看指南
Laravel如何配置和使用缓存?(Redis代码示例)
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Laravel如何使用Sanctum进行API认证?(SPA实战)
JavaScript实现Fly Bird小游戏
在线制作视频网站免费,都有哪些好的动漫网站?
海南网站制作公司有哪些,海口网是哪家的?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
node.js报错:Cannot find module 'ejs'的解决办法
图册素材网站设计制作软件,图册的导出方式有几种?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
昵图网官网入口 昵图网素材平台官方入口
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Android仿QQ列表左滑删除操作
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
Laravel如何创建自定义Facades?(详细步骤)
微信公众帐号开发教程之图文消息全攻略
如何快速搭建高效可靠的建站解决方案?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
Laravel安装步骤详细教程_Laravel环境搭建指南
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
利用vue写todolist单页应用
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
如何快速完成中国万网建站详细流程?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
javascript中对象的定义、使用以及对象和原型链操作小结
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
,在苏州找工作,上哪个网站比较好?


o cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local