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

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

如何安全使用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 系统管理

推荐文章

pycm:一个强大的混淆矩阵库
2024-11-18 16:17:54 +0800 CST
mysql int bigint 自增索引范围
2024-11-18 07:29:12 +0800 CST
git使用笔记
2024-11-18 18:17:44 +0800 CST
Vue3中的Store模式有哪些改进?
2024-11-18 11:47:53 +0800 CST
php使用文件锁解决少量并发问题
2024-11-17 05:07:57 +0800 CST
基于Flask实现后台权限管理系统
2024-11-19 09:53:09 +0800 CST
JavaScript 的模板字符串
2024-11-18 22:44:09 +0800 CST
JavaScript中设置器和获取器
2024-11-17 19:54:27 +0800 CST
Requests库详细介绍
2024-11-18 05:53:37 +0800 CST
Python设计模式之工厂模式详解
2024-11-19 09:36:23 +0800 CST
什么是Vue实例(Vue Instance)?
2024-11-19 06:04:20 +0800 CST
用 Rust 构建一个 WebSocket 服务器
2024-11-19 10:08:22 +0800 CST
百度开源压测工具 dperf
2024-11-18 16:50:58 +0800 CST
页面不存在404
2024-11-19 02:13:01 +0800 CST
回到上次阅读位置技术实践
2025-04-19 09:47:31 +0800 CST
Golang 几种使用 Channel 的错误姿势
2024-11-19 01:42:18 +0800 CST
MySQL用命令行复制表的方法
2024-11-17 05:03:46 +0800 CST
H5抖音商城小黄车购物系统
2024-11-19 08:04:29 +0800 CST
程序员茄子在线接单