更新日期:

如何通过SSH远程访问pfSense

作者:

山姆是一家算法交易公司的网络分析师。他获得了UMKC的信息技术学士学位。

SSH,也被称为安全shell,提供了一种远程访问pfSense路由器的有效方法。使用SSH而不是telnet等其他协议的主要优点是安全性。SSH流量是完全加密的,不会被其他用户通过嗅探器或中间人类型的攻击看到。

SSH还可以提供不止一个简单的远程shell;您还可以安全地传输文件和提出港口到远程网络。

如何开启SSH服务

出于安全考虑,缺省情况下,SSH服务处于关闭状态。开启该服务需要登录pfSense路由器的web界面。

  1. 进入系统菜单中的高级设置页面。
  2. 勾选“启用安全外壳”复选框
  3. 通过在“SSH port”框中输入一个新的端口号来更改默认端口号。此步骤是可选的,但推荐使用。
  4. 单击页面底部的save以应用更改并启动服务。

我强烈建议更改服务的默认端口。互联网上有成千上万的机器人搜索活跃的SSH服务器,并试图暴力破解根密码。您可以通过选择1024以上的随机端口号来避免成为一个容易的目标。

另一种增加针对暴力破解攻击的额外安全性的方法是设置Denyhosts服务

可以在高级系统设置中启用secure shell服务。

可以在高级系统设置中启用secure shell服务。

本地测试服务

此时,服务应该正在运行。要测试它,可以尝试连接客户端,例如腻子

Putty是一种非常流行(而且免费)的SSH客户端,使用起来非常简单。该程序只包含一个单独的文件:Putty.exe。

运行Putty软件后,在顶部的主机框中输入pfSense路由器的LAN ip地址或主机名。如果您已经将服务配置为在不同的端口上运行,那么请将端口更改为您在设置中输入的端口。

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

推荐使用Putty SSH客户端。

推荐使用Putty SSH客户端。

控制台菜单

如果连接成功,系统将提示您输入用户名,请输入root。服务器还会提示您输入密码。密码将与您作为admin用户访问web界面时使用的密码相同。

要访问shell,请选择选项8。

登录后,控制台菜单将显示。

登录后,控制台菜单将显示。

修改Admin / Root密码

如果需要修改系统的root密码,请在系统菜单中打开用户管理器。单击admin用户旁边的编辑按钮来分配新密码。

如果你愿意,你也可以在这里设置额外的用户帐户。

可以通过用户管理器修改root密码。

可以通过用户管理器修改root密码。

启用Internet接入

为了从本地网络外部访问SSH服务,必须创建防火墙规则允许流量通过。如果没有允许流量的防火墙规则,数据包就会被防火墙丢弃。

要允许流量,请点击防火墙菜单中的“规则”。

必须创建防火墙规则以允许从本地网络之外访问SSH服务。

必须创建防火墙规则以允许从本地网络之外访问SSH服务。

新建防火墙规则

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

新规则的默认操作是“pass”,这将允许流量。

  1. 配置接口为广域网。
  2. 确保将协议设置为TCP,这是SSH运行的协议。
  3. 在目标设置中,选择一种类型的“WAN地址”。
  4. 在目的端口范围中,在from框中输入22,或您配置SSH要运行的端口。你可以让'to'端口为空。
  5. 输入规则的描述,例如“允许SSH到WAN”。
  6. 单击“保存”,完成防火墙规则的创建。
防火墙规则编辑器有许多设置,允许您根据需要定制规则。

防火墙规则编辑器有许多设置,允许您根据需要定制规则。

申请更改

在应用更改之前,新的防火墙规则不会被激活。点击“Apply Changes”按钮,在系统中启用新规则。

应用新规则后,您应该能够通过将客户端指向pfSense框的WAN IP地址来访问SSH服务。我喜欢建立动态DNS而不必跟踪IP地址。

为了使新规则生效,必须实施这些更改。

为了使新规则生效,必须实施这些更改。

设置基于密钥的身份验证

即使您已经更改了SSH的侦听端口,仍然可以通过端口扫描发现服务。一旦被发现,机器人就会对服务器发起暴力破解攻击,试图找到带有弱密码的账户。

为了使服务更加安全,您可以启用基于密钥的身份验证。启用密钥身份验证后,黑客可以一整天都试图猜测密码,但如果没有私钥,他们将永远无法获得访问权限。

要关闭密码验证并需要安全的RSA密钥,请启用复选框“为安全shell禁用密码登录”。您可以在安全shell部分的高级系统设置页面上找到此设置。

生成公私钥对

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

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

Puttygen可用于生成用于身份验证的密钥对。

Puttygen可用于生成用于身份验证的密钥对。

向服务器添加公钥

生成密钥对后,需要在pfSense上将公钥添加到用户帐号中。

  1. 在系统菜单中打开用户管理器。
  2. 点击“E”按钮旁边的用户,你想要添加的关键。在用户管理器中,root用户称为admin。
  3. 单击“授权密钥”部分中标有“点击粘贴授权密钥”的复选框。
  4. 将Puttygen生成的公钥粘贴到方框中。
  5. 单击save。
公钥必须添加到pfSense上的用户帐号中。

公钥必须添加到pfSense上的用户帐号中。

保存私钥

最后一步是保存对应的私钥,并配置Putty客户端使用。为了获得更多的安全性,我建议为私钥设置一个密码短语。

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

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

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

进入认证设置页面,将私钥加载到Putty中。

进入认证设置页面,将私钥加载到Putty中。

测试的关键

在客户端加载密钥后,可以尝试连接SSH服务器。您应该会看到如下截图所示的消息,该消息表明正在使用公钥进行身份验证。

如果您为私钥分配了一个密码短语,此时将提示您输入它。

使用密钥登录的示例。

使用密钥登录的示例。

使用WinSCP通过SSH协议传输文件

SSH还可以用于通过SCP(安全复制协议)向pfSense传输文件。使用SCP,您可以在利用现有SSH身份验证系统的同时,安全地从远程系统传输文件。

对于Windows用户,有一个很好的SCP客户端称为有WinSCP.WinSCP程序提供了一个简单易用的接口,可以通过SSH协议传输文件。

WinSCP启动后,进入登录界面;在“host name”中输入pfSense的ip地址。如果您没有在默认端口(22)上运行SSH,则相应地更改端口号。

使用与使用SSH连接时相同的凭据登录。

WinSCP支持SSH协议传输文件。

WinSCP支持SSH协议传输文件。

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

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

WinSCP界面与Windows资源管理器非常相似。

WinSCP界面与Windows资源管理器非常相似。

SSH的多种用途

如您所见,SSH功能非常广泛!您还可以使用该协议做更多的事情,以使系统管理更容易。您甚至可以设置脚本,以便在预定的时间在远程系统上运行命令。最重要的是,通过SSH完成的一切都是完全安全的,这要归功于它使用的加密。

如果你知道更多安全外壳的伟大用途,请在下面留下评论。

就作者所知,这篇文章是准确而真实的。内容仅用于信息或娱乐目的,不替代个人咨询或商业、金融、法律或技术问题的专业意见。

©2012 Sam Kear

评论

" Mansoor2018年11月16日:

非常有用的视频,请加载一些关于通过SSH隧道进行吞吐量测试的视频,因为关于它们的视频非常少。

ibsen Pinheiro达芬奇2017年10月12日:

我刚从Protectli买了一个Vault,并安装了pfSense防火墙。

你在辅导课上帮了我大忙。

非常感谢。

相关文章

Baidu