SSH key 和 GPG key 简介

前言

github的设置中提供 ssh key 和 GPG key 两种认证方式,分别是什么?有什么用?

此文对两者分别做个简介并对比

SSH密钥

SSH是什么?

SSH(Secure Shell)是一种用于远程登录和安全文件传输的协议。它允许用户在计算机之间建立加密连接,以便安全地执行命令、传输文件和管理远程系统。

SSH密钥是什么?

SSH密钥是一对密钥,包括公钥和私钥。公钥用于远程服务器验证用户身份,而私钥保留在用户本地,用于解密加密的数据。

ssh 密钥遵循 OpenSSH 标准格式,支持 RSA、DSA、ECDSA 和 ED25519等加密算法。

用途

  • SSH主要用于远程登录和管理计算机系统。
  • 它还用于安全文件传输和隧道连接,以便安全地传输数据。
  • SSH用于在网络上安全地执行命令、传输文件和远程操作计算机。

生成 ssh 密钥对

(通常windows/linux/macOS都有自带生成工具)

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

ssh 密钥示例:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDfyH/ovD08BTXQL38lnbj8+7v+
...
/XUhttfKFpJlnN+j2HN1ePz2q/rWpGV1EucKf5IJhv4Ej6
-----BEGIN RSA PRIVATE KEY-----

MIIEogIBAAKCAQEApv7kgoXvX0oPbr53E9iSmGc2DpFgVx98qbHh03FA4v1ohKG
...
d0wksf5eB4XIs6NNnvQhD/axusEx2XljE0jR1KK5Ec7D9dGSm6P5h8yE5p
-----END RSA PRIVATE KEY-----

GPG密钥

GPG是什么?

GPG(GNU Privacy Guard)是一款开源工具,用于数据加密、数字签名和安全通信。它广泛用于加密电子邮件、验证文件的完整性以及创建数字签名。

PS:GPG 是作为对 PGP 的开源替代品而创建的,它在设计上与PGP兼容。简单的说,PGP 早期有专有许可协议,后面出现了开源版本及OpenPGP开放标准,而 GPG 是基于此的完全开源实现。

GPG 密钥是什么?

GPG密钥也是一对密钥,包括公钥和私钥。公钥用于加密和验证签名,而私钥用于解密和创建签名。

GPG 密钥遵循 OpenPGP 标准格式,支持的算法有:非对称加密算法(RSA、DSA、ECDSA 和 ED25519等),对称加密算法(AES、CAST5、3DES等),哈希算法(SHA-1、SHA-256、SHA-512等)。

用途

  • GPG用于数据加密、数字签名、安全通信和文件加密。
  • 主要用于保护消息的隐私和完整性,例如加密电子邮件和验证文件的真实性

生成 GPG 密钥对

(一般需要自行安装,官方下载地址:https://gnupg.org/download/

gpg --gen-key

GPG 密钥示例

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQGNBF+LpwoBDADp4u9v5bWfGvRt0Fi1n8gqx8Z3wtt1MsF70DCvqKV7mBSmYpK7
...
sDQs=
=7Y7Q
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PRIVATE KEY BLOCK-----

lQO+BFRONRYBCACaKV7mBSmYpK7gGXojN1ePz2q/rWpGV1EucKf5IJhv4Ej6lQl/
...
cgcEMQjbT4Ch6nFpFj7g/6PAlfuEnes2yc8u9P/4m3H7yqYHKOL7RSFk9EqbPPk
=IejR
-----END PGP PRIVATE KEY BLOCK-----

两者对比

  • SSH主要用于远程登录、安全文件传输、隧道连接和管理计算机系统,GPG用于保护消息的隐私和完整性,例如加密电子邮件和文件签名;
  • 包括公钥和私钥,公钥用于加密数据和验证签名,私钥用于解密数据和创建数字签名;
  • SSH密钥遵循OpenSSH格式,GPG密钥遵循OpenPGP格式
  • 都可采用RSA等算法实现生成密钥对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值