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

相关推荐
lengjingzju2 小时前
编译与调试完全指南—第10章 网络分析工具
linux
星野川崎2062 小时前
电商多店运维:云机24小时挂机频繁掉线、账号无故风控深度原因分析及解决方案
大数据·运维·服务器·云计算·电商
Logintern092 小时前
网络通讯协议—TCP/IP协议
网络·网络协议·tcp/ip
ltl2 小时前
新硬件对存储的影响:ZNS、CXL 与计算存储
linux
RisunJan3 小时前
Linux命令-xauth(X11 认证授权管理)
linux·服务器·microsoft
熊IT4 小时前
什么是原生住宅 IP?如何判断一个 IP 是否真正“原生”?
服务器·网络·tcp/ip
不灭的程序员阿澄4 小时前
在飞牛 NAS 上用 Docker 运行 DeepSeek Harness
运维·docker·容器
Elastic 中国社区官方博客5 小时前
让大模型思考,让小模型执行:在 Elastic Workflows 中拆分 LLM 成本
大数据·运维·数据库·人工智能·elasticsearch·ai
艾伦_耶格宇5 小时前
【AI】-4 OpenCode Go 接入 Obsidian 完整指南
运维·开发语言·人工智能·agent·opencode
SXkehuirongsheng5 小时前
APP开发定制和模板开发哪个更实用?
大数据·运维·人工智能