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

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

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

推荐文章

页面不存在404
2024-11-19 02:13:01 +0800 CST
Vue中的表单处理有哪几种方式?
2024-11-18 01:32:42 +0800 CST
Vue3中如何进行错误处理?
2024-11-18 05:17:47 +0800 CST
实现微信回调多域名的方法
2024-11-18 09:45:18 +0800 CST
js常用通用函数
2024-11-17 05:57:52 +0800 CST
SQL常用优化的技巧
2024-11-18 15:56:06 +0800 CST
ElasticSearch集群搭建指南
2024-11-19 02:31:21 +0800 CST
js迭代器
2024-11-19 07:49:47 +0800 CST
12 个精选 MCP 网站推荐
2025-06-10 13:26:28 +0800 CST
Go语言中的`Ring`循环链表结构
2024-11-19 00:00:46 +0800 CST
Vue3中如何处理组件间的动画?
2024-11-17 04:54:49 +0800 CST
程序员茄子在线接单