编程 如何安全使用SSH?限制在本地访问

2024-11-19 03:35:41 +0800 CST views 1184

如何安全使用SSH?限制在本地访问

SSH是一种广泛使用的工具,允许用户安全地连接远程系统。出于安全考虑,有时我们希望将SSH访问限制在本地网络内,尤其是在家庭或办公环境中,避免外部网络对系统的访问。

为什么要将SSH限制在本地网络?

限制SSH访问有助于减少未授权访问的风险:

  • 安全性:防止攻击者通过互联网扫描或暴力破解。
  • 控制访问:局域网内用户仍可轻松管理系统。
  • 简化管理:不需额外配置复杂的安全层来保护外部访问。

什么是本地网络?

“本地网络”是指在同一物理或无线网络中连接的设备,如家庭Wi-Fi或办公室局域网,通常共享相同的内网IP地址范围,例如:192.168.x.x 或 10.0.x.x。

配置本地网络访问SSH

1. 检查Linux系统的本地IP地址范围

使用命令:

ip a

查找类似192.168.x.x或10.0.x.x的地址,以确定本地网络范围。

2. 配置SSH仅监听本地地址

编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

找到#ListenAddress,取消注释并设置为本地IP地址,例如:

ListenAddress 192.168.122.63

然后,重启SSH服务:

sudo systemctl restart sshd

3. 通过防火墙规则限制SSH访问

使用UFW防火墙(如Ubuntu):

sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw deny 22
sudo ufw reload
sudo ufw status

在CentOS中使用Firewalld:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port protocol="tcp" port="22" drop'
sudo firewall-cmd --reload

使用iptables:

sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
sudo iptables-save | sudo tee /etc/iptables/rules.v4

4. 测试配置

在本地网络中的设备上尝试通过SSH连接服务器:

ssh 用户名@192.168.122.63

如果从外部网络连接,连接应被拒绝。

额外提示

  • 设置静态IP:为需要SSH访问的设备设置静态IP。
  • VPN访问:考虑设置VPN以安全连接本地网络。
  • 监控日志:定期检查SSH日志/var/log/auth.log以监控访问尝试。

通过这些配置,SSH访问的安全性将显著提高,建议大家在局域网中实施这些防护措施。

复制全文 生成海报 网络安全 SSH 系统管理

推荐文章

PHP 代码功能与使用说明
2024-11-18 23:08:44 +0800 CST
前端开发中常用的设计模式
2024-11-19 07:38:07 +0800 CST
从Go开发者的视角看Rust
2024-11-18 11:49:49 +0800 CST
如何在 Linux 系统上安装字体
2025-02-27 09:23:03 +0800 CST
Python 基于 SSE 实现流式模式
2025-02-16 17:21:01 +0800 CST
windon安装beego框架记录
2024-11-19 09:55:33 +0800 CST
Graphene:一个无敌的 Python 库!
2024-11-19 04:32:49 +0800 CST
Nginx 如何防止 DDoS 攻击
2024-11-18 21:51:48 +0800 CST
【SQL注入】关于GORM的SQL注入问题
2024-11-19 06:54:57 +0800 CST
Go语言SQL操作实战
2024-11-18 19:30:51 +0800 CST
PHP如何进行MySQL数据备份?
2024-11-18 20:40:25 +0800 CST
使用 `nohup` 命令的概述及案例
2024-11-18 08:18:36 +0800 CST
Go 如何做好缓存
2024-11-18 13:33:37 +0800 CST
一个简单的html卡片元素代码
2024-11-18 18:14:27 +0800 CST
# 解决 MySQL 经常断开重连的问题
2024-11-19 04:50:20 +0800 CST
Vue3中如何实现响应式数据?
2024-11-18 10:15:48 +0800 CST
如何实现虚拟滚动
2024-11-18 20:50:47 +0800 CST
全栈利器 H3 框架来了!
2025-07-07 17:48:01 +0800 CST
全栈工程师的技术栈
2024-11-19 10:13:20 +0800 CST
Go 单元测试
2024-11-18 19:21:56 +0800 CST
程序员茄子在线接单