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项目的完整流程与步骤  ,在苏州找工作,上哪个网站比较好?