pfSense外网远程SSH访问设置

简介:

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


启用SSH 服务

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

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

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

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

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


强烈建议更改服务的默认端口。 互联网上有成千上万的机器会搜索活动的SSH服务器,并试图强制使用root密码。 你可以通过选择1024以上的随机端口号来避免成为别人攻击的目标。添加额外的安全措施以防暴力攻击的另一种方法是设置Denyhosts服务。

wKioL1lZojPTN3x1AABTBwylUIE912.png


测试本地安全SSH服务

测试安全SSH服务是否运行,可以使用Putty来进行连接。

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

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

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

wKioL1lZoj7RNijbAAA3UnMi95w620.png


控制台菜单

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


wKioL1lZokuwR2A5AABBFWoCDd8215.png


更改系统管理员密码

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

wKiom1lZomCTbJnmAABkh5T-Uek421.png


设置外网访问

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

wKioL1lZomvyB4o5AACkihT54kQ611.png


创建防火墙规则

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

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

1.  设置接口为WAN。

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

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

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

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

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

wKiom1lZonWR7TsMAAGqde52QGM500.png

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

wKiom1lZon-wCX5WAABBMrSkjP0934.png


设置基于密钥的认证

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

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

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


生成密钥对

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

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

wKioL1lZopThH6FBAABDLaWTwlw540.png


添加公钥到服务器

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

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

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

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

4. 单击保存。

wKiom1lZoqmCDqyPAABApUfsYzg627.png


保存私钥

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

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

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

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

 

wKiom1lZoraAprlCAAA_7eD5QLQ343.png


测试密钥

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

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

wKioL1lZoxeBirEvAACQiu_2f-c433.jpg


使用WinSCP通过SSH传输文件

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

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

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

wKioL1lZotajN9fhAAA4jke6qbs035.png

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

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

wKioL1lZouTDLzAsAAET4t5ICwQ073.png


Winscp下载地址:https://winscp.net/eng/download.php 










本文转自 鐵血男兒 51CTO博客,原文链接:http://blog.51cto.com/fxn2025/1943916,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
移动开发 监控 安全
通过SSH协议实现的屏幕局域网电脑监控:屏幕安全访问代码
随着科技的不断发展,网络安全问题愈发突出。为了确保屏幕数据的安全,我们需要一种高效可靠的监控方法。本文介绍了一种基于SSH协议的屏幕局域网电脑监控方案,同时提供了相关代码示例,确保屏幕数据的安全传输和访问。
259 0
|
8月前
|
关系型数据库 MySQL 网络安全
mysql只能通过ssh通道连接到内网,如何创建只能访问MySQL的SSH用户
mysql只能通过ssh通道连接到内网,如何创建只能访问MySQL的SSH用户
352 0
|
1月前
|
存储 安全 Linux
|
1月前
|
算法 安全 Shell
SSH:加密安全访问网络的革命性协议
SSH:加密安全访问网络的革命性协议
79 9
|
18天前
|
Linux 网络安全 数据安全/隐私保护
VsCode SSH远程设置不用重复输入密码
VsCode SSH远程设置不用重复输入密码
|
1月前
|
弹性计算 运维 Shell
基于key验证多主机ssh访问
【4月更文挑战第30天】
26 1
|
1月前
|
存储 网络协议 Linux
如何使用内网穿透工具实现远程SSH访问Deepin系统
如何使用内网穿透工具实现远程SSH访问Deepin系统
|
1月前
|
安全 网络协议 Linux
|
1月前
|
人工智能 Ubuntu 安全
如何在 Ubuntu 20.04 上设置 SSH 密钥
SSH是一种加密协议,用于管理服务器并与服务器通信。使用 Ubuntu 服务器时,我们将大部分时间花在通过 SSH 连接到服务器的终端会话上。 下来将重点关注为 Ubuntu 20.04 安装设置 SSH 密钥,SSH 密钥提供了一种安全的登录服务器的方式。
311 0
|
1月前
|
安全 Linux 网络安全
服务器设置 SSH 通过密钥登录
服务器设置 SSH 通过密钥登录