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

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

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

推荐文章

使用Vue 3和Axios进行API数据交互
2024-11-18 22:31:21 +0800 CST
Redis和Memcached有什么区别?
2024-11-18 17:57:13 +0800 CST
filecmp,一个Python中非常有用的库
2024-11-19 03:23:11 +0800 CST
Golang实现的交互Shell
2024-11-19 04:05:20 +0800 CST
回到上次阅读位置技术实践
2025-04-19 09:47:31 +0800 CST
php strpos查找字符串性能对比
2024-11-19 08:15:16 +0800 CST
Vue中的异步更新是如何实现的?
2024-11-18 19:24:29 +0800 CST
markdowns滚动事件
2024-11-19 10:07:32 +0800 CST
Go中使用依赖注入的实用技巧
2024-11-19 00:24:20 +0800 CST
Golang 中应该知道的 defer 知识
2024-11-18 13:18:56 +0800 CST
CSS 奇技淫巧
2024-11-19 08:34:21 +0800 CST
支付宝批量转账
2024-11-18 20:26:17 +0800 CST
从Go开发者的视角看Rust
2024-11-18 11:49:49 +0800 CST
支付轮询打赏系统介绍
2024-11-18 16:40:31 +0800 CST
Vue中的样式绑定是如何实现的?
2024-11-18 10:52:14 +0800 CST
JavaScript 的模板字符串
2024-11-18 22:44:09 +0800 CST
Vue 3 是如何实现更好的性能的?
2024-11-19 09:06:25 +0800 CST
Nginx 实操指南:从入门到精通
2024-11-19 04:16:19 +0800 CST
go发送邮件代码
2024-11-18 18:30:31 +0800 CST
Redis函数在PHP中的使用方法
2024-11-19 04:42:21 +0800 CST
程序员茄子在线接单