天天看点

pfSense外网远程SSH访问设置

  SSH,也称为安全shell,提供了一种远程访问pfsense防火墙的有效方法。 使用SSH而不是其他协议(如telnet)的主要优点是安全性。 SSH流量被完全加密,可以防止其他用户通过嗅探器进行攻击。 SSH还可以提供多个简单的远程shell,可以安全地传输文件,并将端口转发到远程网络。

启用SSH 服务

默认情况下,为了安全起见,SSH服务被禁用。启用服务登录到pfSense路由器的Web界面。

1.  进入系统-高级设置-管理员访问选项卡

2.  选中'启用安全Shell'检查框

3.  通过在“SSH端口”框中输入新的端口号来更改默认端口。

4.  单击页面底部的保存按钮应用更改并启动服务。

<a href="https://s4.51cto.com/wyfs02/M00/9A/AF/wKioL1lZojPTN3x1AABTBwylUIE912.png" target="_blank"></a>

测试本地安全SSH服务

Putty是一款非常受欢迎的(免费)SSH客户端,易于使用。 该程序只包含一个Putty.exe文件。

运行Putty后,在顶部的主机框中输入pfSense路由器的LAN IP地址或主机名。 如果将服务默认端口配置为其他端口,请将端口更改为在设置中输入的端口值。

点击程序底部的“打开”连接到服务器。

<a href="https://s3.51cto.com/wyfs02/M01/9A/AF/wKioL1lZoj7RNijbAAA3UnMi95w620.png" target="_blank"></a>

控制台菜单

如果连接成功,系统将提示你输入用户名,用户名为root,密码与管理员密码相同。要访问shell请输入数字8。

<a href="https://s1.51cto.com/wyfs02/M02/9A/AF/wKioL1lZokuwR2A5AABBFWoCDd8215.png" target="_blank"></a>

更改系统管理员密码

要更改系统的root密码,请在系统菜单中打开用户管理。点击管理员用户旁边的编辑按钮更改密码。也可以在这里设置其他帐户。

<a href="https://s5.51cto.com/wyfs02/M01/9A/AF/wKiom1lZomCTbJnmAABkh5T-Uek421.png" target="_blank"></a>

设置外网访问

为了从外部访问SSH服务,必须创建防火墙规则以允许外部访问通过,否则无法访问。要允许访问,请点击防火墙菜单中的“规则策略”。

<a href="https://s5.51cto.com/wyfs02/M01/9A/AF/wKioL1lZomvyB4o5AACkihT54kQ611.png" target="_blank"></a>

创建防火墙规则

通过单击防火墙规则页面右下角的加号创建新的防火墙规则,打开防火墙规则编辑器页面。

新规则的默认操作是“通过”,这将允许外部地址的访问。

1.  设置接口为WAN。

2.  协议选择TCP,这是SSH运行的协议。

3.  目的地选择 “WAN address(WAN地址)”。

4.  目的地端口范围选择22,或在SSH框中配置的SSH运行的端口。“到”端口可以留空。

5.  在描述栏输入备注 “开启外网访问SSH”

6. 单击“保存”完成防火墙规则设置并应用更改。

<a href="https://s1.51cto.com/wyfs02/M02/9A/AF/wKiom1lZonWR7TsMAAGqde52QGM500.png" target="_blank"></a>

经过上面的设置,现在已经可以在外网通过SSH远程访问pfsense防火墙了。

<a href="https://s1.51cto.com/wyfs02/M00/9A/AF/wKiom1lZon-wCX5WAABBMrSkjP0934.png" target="_blank"></a>

设置基于密钥的认证

即使您更改了SSH的监听端口,仍可以通过端口扫描发现该服务。 一旦发现机器人可以对服务器发起暴力攻击,试图找到密码较弱的帐户。

为了使服务更安全,可以启用基于密钥的身份验证。 通过启用密钥认证,黑客可以尝试各类怀疑密码,但没有私钥,将永远不会被授予访问权限。

要关闭密码身份验证,并且需要安全的RSA密钥,请启用“禁用安全shell的密码登录”复选框,可以在系统-高级设置-管理员访问选项卡上找到这个设置。

生成密钥对

要利用基于密钥的登录,我们必须创建一对密钥。 公钥将被输入到pfSense,私钥将被存储在客户端上。

生成密钥对的最简单方法是使用Puttygen程序。单击然后生成按钮,然后移动鼠标创建一些随机性的数值。

<a href="https://s4.51cto.com/wyfs02/M01/9A/AF/wKioL1lZopThH6FBAABDLaWTwlw540.png" target="_blank"></a>

添加公钥到服务器

生成密钥对之后,需要在pfSense的用户帐户中添加公钥。

1.  打开系统-用户管理菜单。

2.  在要添加密钥的用户旁边,单击“编辑用户”按钮。Admin用户即为SSH的root帐号。

3.  找到“认证SSH密钥”,将Puttygen生成的公钥粘贴到框中。

4. 单击保存。

<a href="https://s5.51cto.com/wyfs02/M01/9A/AF/wKiom1lZoqmCDqyPAABApUfsYzg627.png" target="_blank"></a>

保存私钥

最后一步是保存相应的私钥并配置Putty客户端来使用它。出于额外安全考虑,我建议为私钥设置密码。

没有密码短语,任何具有私钥文件副本的人都可以连接到服务器。 通过添加密码,密钥不能使用,而不知道这个短语是什么。

要将私钥存储在本地计算机上,请单击Puttygen中的保存私钥按钮。

要将密钥加载到Putty中,请转到连接 \ SSH下找到的认证设置页面。 单击浏览按钮,找到保存私钥文件的位置。

<a href="https://s1.51cto.com/wyfs02/M01/9A/AF/wKiom1lZoraAprlCAAA_7eD5QLQ343.png" target="_blank"></a>

测试密钥

密钥加载到客户端后,您可以尝试连接到SSH服务器,应该会看到如下面的屏幕截图中的消息,指出公钥正在用于身份验证。

如果为私钥分配了密码短语,则会在此时提示您输入密码。

<a href="https://s4.51cto.com/wyfs02/M01/9A/AF/wKioL1lZoxeBirEvAACQiu_2f-c433.jpg" target="_blank"></a>

使用WinSCP通过SSH传输文件

SSH也可用于使用SCP(安全复制协议)将文件导入到pfSense或从pfSense导出文件。 使用SCP,可以使用现有的SSH认证系统,将文件安全地传输到远程系统或从远程系统导入。

对于Windows用户,可以使用WinSCP程序。 WinSCP程序提供了一个易于使用的界面,用于通过SSH传输文件。

启动WinSCP后,在主机名中输入pfSense的外部ip地址,输入你设置的SSH端口号。使用与SSH连接时使用的相同凭据登录。

<a href="https://s5.51cto.com/wyfs02/M02/9A/AF/wKioL1lZotajN9fhAAA4jke6qbs035.png" target="_blank"></a>

连接建立后,将直接在右侧列出远程系统的列表。 屏幕左侧显示本地文件系统。

WinSCP界面基本上与Windows资源管理器相同,可以在远程和本地计算机之间拖放文件和目录。

<a href="https://s1.51cto.com/wyfs02/M00/9A/AF/wKioL1lZouTDLzAsAAET4t5ICwQ073.png" target="_blank"></a>

本文转自 鐵血男兒 51CTO博客,原文链接:http://blog.51cto.com/fxn2025/1943916,如需转载请自行联系原作者