首页 程序笔记 如何在 OPNsense 上启用和启动 SSH 服务器

如何在 OPNsense 上启用和启动 SSH 服务器

OpenSSH 是一种工具,旨在使用 SSH 协议为远程设备提供安全的远程登录。 SSH 利用高级加密技术在客户端和服务器计算机之间进行数据传输、远程登录和文件传输。这种安全级别将消除网络中的窃听者、劫持者和其他类型的攻击者。

设置先决条件

在开始阅读本文之前,您必须满足以下要求:

  • 已安装 OPNsense 服务器
  • 您的本地设备应该能够访问 OPNsense Web 仪表板
  • 您拥有 OPNsense 登录帐户,该帐户是内置 admins 组的成员。

在 OPNsense 上启用 OpenSSH 服务

OPNsense 被认为是最好的开源防火墙和路由解决方案之一,可用于家庭或中小型公司。

我们有一篇关于如何安装 OPNsense 的单独文章:如何在 Proxmox VE 上安装 OPNSense 防火墙。防火墙启动并运行后,登录 Web 仪表板。

进入仪表板后,导航至系统–> 管理–> Secure Shell

勾选启用 OpenSSH 服务器复选框,并允许 root 用户登录。您可以选择启用密码身份验证方法,但这对我来说将被禁用,因为我更喜欢基于密钥的身份验证机制。

我们建议您允许 SSH 服务仅在 LAN 或任何其他不暴露于外界的 VLAN 网络上侦听。

使用SSH公钥登录

SSH 协议支持多种身份验证方法。最常用且最安全的交互式和自动连接是公钥身份验证。您可以阅读此文档来了解有关公钥认证方法的更多信息。

SSH 公钥的默认路径是 ~/.ssh。您可以通过列出此目录中的内容来确认您是否拥有密钥。

$ ls -1 ~/.ssh
config
id_rsa
id_rsa.pub
known_hosts
known_hosts.old

您的公钥名为id_rsa.pub。如果您的计算机中没有,则使用以下命令在基于 Linux/Unix 的系统上生成它。

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jmutai/.ssh/id_rsa):
Created directory '/home/jmutai/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jmutai/.ssh/id_rsa
Your public key has been saved in /home/jmutai/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:bgcrnow9O7wKbgeOdJ6kO2CnwPvpW5kGY84rMDv+DPY jmutai@josphat-devops2
The key's randomart image is:
+---[RSA 3072]----+
|                 |
|                 |
|                 |
|                 |
|.  +    S        |
|=+=+o o. o       |
|*BX+.*. + .      |
|=B*+*=++ .       |
|.=OE+.B=         |
+----[SHA256]-----+

您需要复制文件中的内容以便在 OPNsense 中使用。

cat ~/.ssh/id_rsa.pub

在 macOS 上,您可以使用 pbcopy 将内容复制到剪贴板。

pbcopy <~/.ssh/id_rsa.pub

Linux用户可以使用xclip。

xclip -sel clip <~/.ssh/id_rsa.pub

接下来转到 OPNsense Web 控制台,然后找到系统–> 用户部分。使用铅笔图标选择要编辑的用户。

粘贴所选用户的复制密钥。在我们的示例中,用户是root。

完成后保存更改。

测试 SSH 进入 OPNsense

最后一步是测试从我们的本地计算机到 OPNsense 的 SSH 连接。

SSH 的命令语法是。

$ ssh username@OPNsenseIP

Windows 用户可以尝试适用于 Windows 系统的最佳 SSH、Telnet 和串行客户端应用程序一文中的工具之一。

$ ssh [email 
Warning: Permanently added '192.168.1.1' (ED25519) to the list of known hosts.
Last login: Thu Jan 25 01:05:07 2024 from 192.168.1.151
----------------------------------------------
|      Hello, this is OPNsense 23.7          |         @@@@@@@@@@@@@@@
|                                            |        @@@@         @@@@
| Website:	https://opnsense.org/        |         @@@"   ///@@@
| Handbook:	https://docs.opnsense.org/   |       ))))))))   ((((((((
| Forums:	https://forum.opnsense.org/  |         @@@///   "@@@
| Code:		https://github.com/opnsense  |        @@@@         @@@@
| Twitter:	https://twitter.com/opnsense |         @@@@@@@@@@@@@@@
----------------------------------------------

*** fw01.example.io: OPNsense 23.7.12 ***

 GuestWifi (vlan020) -> v4: 172.20.40.1/24
 IoTDevices (vlan021) -> v4: 172.20.41.1/24
 LAN (igb1)      -> v4: 192.168.1.1/24
 PrivateServers (vlan030) -> v4: 172.20.30.1/24
 WAN (igb0)      -> v4: a.b.c.d/24

 HTTPS: SHA256 66 1B 87 B8 43 2C 15 45 05 57 05 1E 5E FF BB BD
               AC A6 DF 50 C9 73 FC A6 D5 88 29 10 A4 16 7B 29
 SSH:   SHA256 lmQRFUxZjpwargrS5JII5m57XW04q8gE4ZHIrO3Ub0I (ECDSA)
 SSH:   SHA256 H3emXepr/oufi2zVoVRBWCt5iJM+JTVjtReBpBOlPUc (ED25519)
 SSH:   SHA256 +vgBRjGF6QyimDHDr9Dcq7aZqxuZGUlEdi//XEVLy8E (RSA)

  0) Logout                              7) Ping host
  1) Assign interfaces                   8) Shell
  2) Set interface IP address            9) pfTop
  3) Reset the root password            10) Firewall log
  4) Reset to factory defaults          11) Reload all services
  5) Power off system                   12) Update from console
  6) Reboot system                      13) Restore a backup

Enter an option:

我们可以尝试执行一个操作来确认此操作是否有效。例如“12) 从控制台更新

Enter an option: 12

Fetching change log information, please wait... done

This will automatically fetch all available updates and apply them.

Proceed with this action? [y/N]: y

Updating OPNsense repository catalogue...
OPNsense repository is up to date.
All repositories are up to date.
Updating OPNsense repository catalogue...
.....

这是我们在 OPNsense 上启用 OpenSSH 服务器并且能够访问它的验证。 OpenSSH 客户端程序称为 ssh,可在大多数基于 Linux 和 Unix 的系统上使用。 Windows 用户可能需要安装 PuTTY 或 MobaXterm 等提供 ssh 客户端功能的工具。

类似文章:

  • 如何在 OPNsense 上安装和配置 Tailscale 客户端
  • 如何在 Docker 容器中使用 UI 运行 Headscale

2

站心网

OpenSSH 是一种工具,旨在使用 SSH 协议为远程设备提供安全的远程登录。 SSH 利用高级加密技术在客户端和服..

为您推荐

卸载阿里云、腾讯云服务器监控系统教程

所周知,阿里云、腾讯云的服务器都自带监控(AliYunDun/阿里云盾/安骑士),大家都不想自己的所作所为都被监控着,比如我在上面安装XX服务,一旦云监控查到,会被警告,很麻烦,我们总想着自己买的东西能够完全自己..

服务器安装数据库MySQL8.0版本,打包导入到MySQL5.6失败的结局方式

最近数据库升级为mysql8.0,在使用过程中发现一些问题,首先mysql8.0有很多新特性,对服务器配置要求较高,所有就考虑把数据库版本切换到MySQL5.6,经过多出测试处理发现在8.0数据库打包的数据导入到5.6总是报错,或..

ABP.Net Core使用教程(一)启动模版项目

只需要简单的3步:1,到官网下载模版项目 https://aspnetboilerplate.com/Templates2,用VS2017打开,将Web.Host设置为启动项3,在程序包管理器控制台(Nuget控制台)里设定默认项目为EntityFrameworkCore,执行命令..

ASP.NET如何将Views文件夹从项目分离

将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..

如何让AI写出Google认可的文章?

让 AI 写出 Google 认可的文章,核心在于满足 Google 的搜索排名算法要求。这些要求通常围绕以下几个关键点展开:内容质量、用户体验 和 SEO 优化。以下是详细指导:一、内容质量确保文章原创且有价值避免抄袭:Goog..

如何从.NET Framework迁移到.NET Core或.NET 6/7?

从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..

如何优化ASP.NET Core应用的性能?

优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..

chrome 开发者工具如何查看元素:hover时的样式

在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..

修改VisualSVN Server地址为ip地址,修改svn服务端地址为ip或者域名地址的方法

svn服务端搭建成功之后,地址太长很麻烦,想搞一个服务器专门做svn服务端,修改svn地址为ip地址无奈网上教程不靠谱,于是自己研究了下1.修改VisualSVN 的地址2修改地址并保存很多人不成功就在这里,点击确认之后复制..

服务架构进化论

1.原始分布式时代一直以来,我可能和大多数的人认知一样,认为我们的服务架构的源头是单体架构,其实不然,早在单体系统盛行之前,我们的前辈们就已经探索过使用多个独立的分布式服务共同完成一个大型的系统的实现方..

如何防止web应用DOS攻击?

防止web应用DOS攻击的最好的方法是什么? 如何防止web应用DOS攻击? 与所有的拒绝服务(DOS)攻击相关的一件事是他们都不可能避免。最好的方法是把重点放在减少影响DOS攻击的方法上。如果你有一个网络,黑客想要玩一玩..

数据库SQL Server2014和SQL Server2019的区别和如何选择?

SQL Server 2014和SQL Server 2019是微软公司发布的两个版本的数据库管理系统,它们在性能、安全性以及可扩展性等方面各有特点。在选择这两个数据库版本时,需要根据系统需求、预算状况以及技术团队的熟悉程度等因素..

宝塔里mysql停止了自动启用脚本

mysql突然停止的原因有多种,这里不列举,可以排查具体原因。如果停止后,还可以手工正常启用mysql,那可以考虑把shell脚本添加到宝塔的计划任务里,定时每隔几分钟检测一次,让mysql自动检测停止后立马启用。ps=`ps..

判断 nginx 服务是否启动,未启动自动重启 shell脚本

我的是宝塔面板直接上代码nginx_procnum=`ps -ef|grep "nginx"|grep -v grep|wc -l`if [ $nginx_procnum -eq 0 ]then echo "start nginx..." /etc/init.d/nginx startelse echo "no cmd" fi然后添加定时任务;每分钟..

宝塔里redis停止了自动启用脚本

redis突然停止的原因有多种:1、内存不足,如果Redis使用的内存超过了服务器可用内存,操作系统会自动杀死Redis进程。2、服务器的资源限制(ulimit)比较低,Redis可能会因为无法打开足够的文件描述符而停止。3、其..

.NET调试Windows服务的方法

很多朋友编写Windows服务的时候都会觉得调试很麻烦,甚至不知道怎么调试。有些人可能添加个windows窗体用按键触发相关方法或者靠打印日志调试,那么到底windows服务怎么调试呢? 怎么编写代码就不说了。就说调试吧,..

MySQL如何建数据库

MySQL是一款非常流行的关系型数据库管理系统。无论是在企业还是个人项目中,都经常使用MySQL数据库。在使用MySQL之前,需要先创建一个数据库。本文将介绍如何建立MySQL数据库。一、安装MySQL在开始建立MySQL数据库之..

ASP.NET Core主机和应用启动流程

主机主要负责Web应用程序的启动和生存期的管理,配置服务器和请求处理管道。主机配置日志,依赖关系的注入。主机实际上是一个封装了应用资源的对象。创建主机生成器>配置主机>创建主机>运行主机Host有两种,通用主机..

MiniAPI参数绑定 服务注入 响应输出使用示例

在VS2022中可以使用MiniAPI。 使用MiniAPI以创建具有最小依赖项的 HTTP API。 它们非常适合于需要在 ASP.NET Core 中仅包括最少文件、功能和依赖项的微服务和应用。MiniAPI创建方法启动 Visual Studio 2022 并选择“..

jwt是什么?.NET Core API如何使用JwtBearer验证

JWT是JSON Web Token的缩写,是一种开放标准(RFC 7519),用于在网络上以安全和可靠的方式传输信息。它是一种被广泛使用的跨域身份验证解决方案,可以将用户信息、访问权限等加密后存储在Token中,然后通过网络传输..

发表回复

返回顶部