青蛙小白
#Linux

运维安全网关技术原理:深入理解堡垒机隧道机制

企业运维中,堡垒机(Bastion Host)是保障服务器访问安全的核心组件。本文将简单剖析一下某企业级运维安全网关的技术原理,并分享一个实用的跨平台访问方案——如何在 Mac 上通过 Windows 上的堡垒机客户端访问堡垒机资源。 什么是运维安全网关 运维安全网关,也称为堡垒机,是一种集中管理和审计服务器访问的安全系统。它的核心功能包括:

#Linux

在 macOS 上用 diskutil + dd 制作 Linux 启动盘(以 Ubuntu 为例)

在 macOS 下做一个 Linux 启动盘,其实就是三步:找盘(diskutil list)→ 卸载(diskutil unmountDisk)→ 写入(dd)。本文用 Ubuntu Server ISO 做示例,但同样适用于大多数发行版的 ISO。 注意:下面操作会清空 U 盘上的所有数据。 最危险的一步是选错磁盘号(比如把 /dev/disk0 当成 U 盘),写入前请反复确认:你的 U 盘应该显示为 external, physical。 准备 下载好 ISO(本文以 Ubuntu Server 为例)。 插入 U 盘。 下面会把 U 盘整盘覆盖写入(不是拷贝文件),U 盘原来的分区和数据都会被清空。 (可选)如果想先确认 ISO 没下载坏,可以校验一下:

#Go

Go 1.18新特性学习笔记04: Go泛型的基本语法

今天继续学习Go 1.18引入的泛型,每天利用几分钟的时间来学习,慢慢积累。 前两天学习了在Go中如何定义泛型函数,并学习了Go泛型中的类型约束(Type Constrant)的概念,今天通过参考Go官方的泛型技术提案文档,简单整理一下Go泛型的基本语法。 Go的泛型指的是在Go的类型声明和函数声明中增加可选的类型参数。类型参数要受到类型约束,Go使用嵌入额外元素的接口类型来定义类型约束,类型约束定义了一组满足约束的类型集(Type Set)。

#Go

Go 1.18新特性学习笔记03: 将类型约束声明为接口

今天继续学习Go 1.18引入的泛型,我们将以Go官方的泛型教程为资料,每天利用几分钟的时间来学习,慢慢积累。 昨天我们定义了一个泛型函数,代码如下: // SumIntsOrFloats sums the values of map m. It supports both int64 and float64 // as types for map values. func SumIntsOrFloats[K comparable, V int64 | float64](m map[K]V) V { var s V for _, v := range m { s += v } return s } 在定义泛型函数时,需要为泛型参数指定 类型约束(type constraint) 来限制泛型参数类型的范围。 SumIntsOrFloats函数名称后边中括号的内容[K comparable, V int64 | float64]就是类型约束。