使用 SSH 远程管理 pfSense 防火墙
SSH(安全 shell)提供了一种安全远程访问 pfSense 防火墙的方式。相较于 Telnet 等协议,SSH 的主要优势在于其通信流量完全加密,能有效防止嗅探攻击。SSH 不仅提供安全的远程 shell,还能实现安全的文件传输和端口转发。
启用 SSH 服务
出于安全考虑,SSH 服务默认处于禁用状态。请按以下步骤通过 Web 界面启用:
- 进入 系统 > 高级设置 > 管理员访问 选项卡。
- 勾选 启用安全 Shell 复选框。
- 如需更改默认端口,请在 SSH 端口 框中输入新的端口号。
- 点击页面底部的 保存 按钮以应用更改并启动服务。
强烈建议修改默认的 22 端口。互联网上存在大量自动化扫描工具,会不断尝试暴力破解 root 密码。选用一个大于 1024 的随机端口号,可以有效降低成为攻击目标的风险。此外,还可部署 Denyhosts 等额外安全措施进一步增强防护。

测试本地 SSH 服务
可使用 Putty 客户端测试 SSH 服务是否正常运行。Putty 是一款广受欢迎的免费 SSH 客户端,仅包含一个可执行文件。
启动 Putty 后,在 主机名(或IP地址) 栏中输入 pfSense 的 LAN IP 地址或主机名,并将端口号改为您配置的端口。点击底部的 打开 按钮连接服务器。

控制台菜单
连接成功后,将提示输入用户名和密码(用户名为 root,密码与管理员密码相同)。登录后,键入数字 8 即可进入 shell 环境。

修改系统管理员密码
要修改系统的 root 密码,请在系统菜单中打开 用户管理,点击 admin 用户旁的编辑按钮,即可更改密码。您也可以在此处设置其他用户账户。

设置外网访问
若要从外网连接 SSH 服务,必须创建对应的防火墙规则。
- 进入 防火墙 > 规则策略。
- 在 WAN 接口规则列表中,点击页面右下角的加号按钮,打开规则编辑器。

创建防火墙规则
按以下参数配置规则以允许外网 SSH 访问:
- 接口:WAN
- 协议:TCP
- 目的地:WAN address(WAN 地址)
- 目的端口范围:填写您配置的 SSH 端口(如
22或自定义端口),到 端口可留空 - 描述:例如“开启外网访问SSH”
点击 保存 并应用更改。

设置完成后,即可从外部网络通过 SSH 远程连接 pfSense。

设置基于密钥的认证
即使更改了端口,服务仍可能被扫描发现,进而遭到暴力破解攻击。启用基于密钥的身份验证可以显著提升安全性:攻击者即使猜测密码也无法登录,因为没有私钥。
- 进入 系统 > 高级设置 > 管理员访问 选项卡,勾选 禁用安全 Shell 的密码登录 复选框。
- 保存设置并生成 RSA 密钥对。
生成密钥对
使用 Puttygen 程序可以方便地生成密钥对。点击 生成 按钮,并在空白区域移动鼠标以产生随机数。

添加公钥到服务器
- 进入 系统 > 用户管理。
- 找到
admin用户,点击其右侧的 编辑 按钮。 - 在 认证 SSH 密钥 文本框中,粘贴 Puttygen 生成的公钥。
- 点击 保存。

保存私钥
在 Puttygen 中点击 保存私钥 按钮,将私钥文件存储至本地。为增强安全性,建议设置密码短语保护私钥。之后,在 Putty 的连接设置中加载该私钥:连接 > SSH > 认证,点击 浏览 并选择私钥文件。

测试密钥
配置完成后尝试连接 SSH 服务器,应会看到类似下图的认证成功消息,表明公钥正在用于身份验证。如果设置了密码短语,此时会提示输入。

使用 WinSCP 通过 SSH 传输文件
借助 SCP(安全复制协议),可以利用现有的 SSH 认证进行文件的安全上传和下载。WinSCP 是一款适用于 Windows 的图形化 SCP 客户端。
启动 WinSCP 后,在主机名中输入 pfSense 的外网 IP 地址,端口填写您设置的 SSH 端口,使用与 SSH 相同的凭据登录。

连接成功后,界面右侧显示远程系统文件,左侧显示本地文件。您可以直接拖放文件实现传输。

觉得内容不错?我要