pfSense外网远程SSH访问设置

本文涉及的产品
云防火墙,500元 1000GB
简介:

  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,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
存储 安全 Linux
|
6月前
|
算法 安全 Shell
SSH:加密安全访问网络的革命性协议
SSH:加密安全访问网络的革命性协议
191 9
|
1月前
|
安全 Shell 网络安全
设置 码云 SSH 推送和拉取代码
设置 码云 SSH 推送和拉取代码
75 0
|
3月前
|
运维 安全 网络安全
"革新远程访问体验:Docker化部署webssh2,一键启动Web SSH客户端,让远程管理如虎添翼!"
【8月更文挑战第2天】Docker作为软件开发与运维的关键工具,以其轻量级、可移植及强隔离特性简化了应用部署。结合webssh2这一开源Web SSH客户端,可通过浏览器安全便捷地访问SSH服务器,无需额外软件。首先确保已安装Docker,接着拉取webssh2镜像并运行容器,映射端口以便外部访问。配置好SSH服务器后,通过浏览器访问指定URL即可开始SSH会话。此方案不仅提升了用户体验,还加强了访问控制与系统安全。
319 7
|
6月前
|
安全 Linux 网络安全
SSH 简介:安全远程访问的利器
SSH是加密网络协议,用于安全远程登录和数据传输。它基于公钥和私钥验证,加密传输确保通信安全。默认使用22端口。在Linux和macOS系统上预装,Windows需额外安装。基本用法包括远程登录(ssh username@hostname)、文件传输(scp source destination)和端口转发。推荐使用密钥对认证,限制登录尝试次数,并配置SSH代理以增强安全性。了解这些基础和技巧能提升远程服务器管理和文件传输效率。
SSH 简介:安全远程访问的利器
|
4月前
|
Linux 网络安全 数据安全/隐私保护
如何在Linux中设置SSH无密码登录
这样,你就设置了SSH无密码登录。但请注意,这种方式虽然方便,但如果你的私钥落入他人手中,他们就能访问你的服务器,所以要妥善保管你的私钥。
74 0
|
6月前
|
机器学习/深度学习 Linux 网络安全
ssh远程访问windows系统下的jupyterlab
ssh远程访问windows系统下的jupyterlab
129 3
|
5月前
|
Linux 网络安全 数据安全/隐私保护
VsCode SSH远程设置不用重复输入密码
VsCode SSH远程设置不用重复输入密码
|
6月前
|
弹性计算 运维 Shell
基于key验证多主机ssh访问
【4月更文挑战第30天】
75 1
|
6月前
|
存储 网络协议 Linux
如何使用内网穿透工具实现远程SSH访问Deepin系统
如何使用内网穿透工具实现远程SSH访问Deepin系统