25、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(一)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Ubuntu】【远程开发】内网穿透:环境准备

分析了 ECS 云服务器和轻量应用服务器的区别,通过对比,后面将用轻量服务器作为基础搭建内网穿透的跳板

内网穿透

首先,第一步,内网设备要主动连接 云服务器,建立 SSH 反向隧道,在建立 SSH 反向隧道之前,先在家庭服务器上生成对应的公私钥,然后上传公钥到云服务器

打开家庭服务器终端,运行以下命令:

bash 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"

这里推荐用 ed25519 密钥算法,更安全高效

终端输入 man ssh-keygen,输入 \-t 查找,可以看到 ssh-keygen 命令的选项说明,其中 -t 选项描述如下

可以看到,-t 选项可以指定要生成的 SSH 密钥类型,支持的密钥类型包括

  • dsa:全称 Digital Signature Algorithm‌ 数字签名算法,由 NIST(National Institute of Standards and Technology)美国国家标准与技术研究院在 1991 年提出,基于离散对数问题 生成密钥,属于旧的 DSA 算法,已不安全,不推荐使用
  • ecdsa:全称 Elliptic Curve Digital Signature Algorithm‌,基于椭圆曲线 的数字签名算法,比 dsa 安全,但不如 ed25519
  • ecdsa-skecdsa 的扩展版本,这里 -sk 的全称 Security Key 安全密钥,私钥不在电脑上,而是存储在专门的物理硬件设备中 ,并且私钥永远无法被导出,永远留在硬件,不会被复制泄露,极大提升安全性,适合对安全要求极高的场景
  • ed25519:全称 Edwards-curve Digital Signature Algorithm over Curve25519 ,其中 Curve25519 是一条精妙的椭圆曲线,计算高效,可以避免某些数学攻击,而 Curve25519Edwards form 爱德华兹形式,可以让签名更安全,更快,是现代高效,安全的椭圆曲线算法,强烈推荐用这个
  • ed25519-sk:和上面 ecdsa-sk 一样的性质, 是 ed25519 的扩展形式,将私钥存在专门的物理硬件中
  • rsa:全称 Rivest--Shamir--Adleman(三位密码学家名字) ,在 1977 年提出,是第一个既能用于加密又能用于数字签名的公钥算法基于大整数分解难题生成密钥 ,作为传统的 RSA 算法,兼容性最好,但需足够长的密钥,比如 4096 位

这里额外再补充下 rsa 的安全性,rsa 算法的安全性和其生成密钥长度有关,其评估是基于当前和可预见未来的算力(包括经典计算机和量子计算机的发展趋势,结合超级计算机,GPU 集群,算法优化等) ,估算出破解所需的时间和资源成本,从而判断它在多长时间内是实际不可行破解的,评估机构(比如 NIST)会留足安全余量,宁可保守,也不会冒险

  • 1024 位密钥长度:当前已被破解,别用 ,安全强度等效于 AES-80已过时
  • 2048 位密钥长度:目前勉强可用,但 NIST 建议 2030 年前淘汰 ,安全强度等效于 AES-112
  • 3072 位密钥长度:安全期到 2031 年后,安全强度等效于 AES-128
  • 4096 位密钥长度:推荐,可以长期使用 ,安全强度等效于 AES-152

AES-128 被认为是安全的,所以 RSA-3072 作为传统算法,是对标现代安全标准的底线 ,而 RSA-4096 在经典计算机时代,几乎可以认为是终身安全的 ,除非数学上有革命性突破,长期来看,更现实威胁是量子计算,因此 NIST 正在推动后量子密码学标准 PQC(Post-Quantum Cryptography)


OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog

相关推荐
maosheng11466 小时前
RHCSA的第一次作业
linux·运维·服务器
wifi chicken6 小时前
Linux 端口扫描及拓展
linux·端口扫描·网络攻击
旺仔.2916 小时前
Linux 信号详解
linux·运维·网络
放飞梦想C6 小时前
CPU Cache
linux·cache
Hoshino.417 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
平生幻8 小时前
TCP协议与UDP协议的区别
网络协议·tcp/ip·udp
恒创科技HK8 小时前
通用型云服务器与计算型云服务器:您真正需要哪些配置?
运维·服务器
吴佳浩 Alben8 小时前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
播播资源9 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
源远流长jerry9 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip