LOADING

加载过慢请开启缓存 浏览器默认开启

开启SSH Key登录

2025/3/25 VPS VPS

创建公私钥

Xshell

image.png

image.png

密钥类型可以按照实际情况选择。以下列举一下DSA、RSA、ECDSA、ED25519的区别

特性 DSA RSA ECDSA ED25519
原理 基于离散对数问题,使用两个数学函数进行签名和验证。 利用大整数分解难题,通过一对公钥和私钥来加密和解密数据或生成签名。 基于椭圆曲线上的点乘运算的困难性,提供与DSA相似的功能但基于椭圆曲线密码学。 使用扭曲的爱德华兹曲线实现的一种特定形式的数字签名算法,属于椭圆曲线密码学的一部分。
性能 签名速度较快,但在验证签名时效率低于RSA和ECDSA。 签名生成较慢,尤其是使用较大密钥时;验证签名相对较快。 提供了更快的签名和验证速度,尤其是在使用相同安全级别的情况下,比RSA更高效。 在所有操作中都表现出色,特别是在签名生成和验证的速度方面,通常被认为是最快的。
安全性 安全性依赖于参数的选择和随机数生成的质量。若随机数不充分随机,可能导致私钥泄露。 需要足够大的密钥长度以保证安全(推荐至少2048位),同时注意避免常见的攻击手段如侧信道攻击。 相同密钥长度下,比RSA提供更高的安全性。同样需要注意随机数质量的问题。 设计上考虑了防止多种类型的攻击,包括侧信道攻击,提供了强大的安全性保障。
兼容性 被广泛支持,特别是在SSH等协议中,但由于性能和安全性的原因,逐渐被其他算法取代。 广泛应用于各种场景,拥有良好的向后兼容性。 支持度不断增加,尤其是在需要高效和安全解决方案的新系统中。 尽管是一个较新的算法,但由于其优越的性能和安全性,正快速获得支持,尤其在现代软件和协议中。

接下来一路下一步

image.png

下面这一步的给用户密钥加密是用来给私钥加密的,若加密了,使用私钥时还需要私钥的密码才能成功登录

image.png

生成后把公钥保存下来,复制或保存文件,这里边公钥格式有两种,一般默认就行了,下面也简单列举两种的区别

特性 SSH2 - OpenSSH SSH2 - IETF SECSSH
实现方式 开源的SSH协议套件,广泛应用于Linux、Unix、macOS等操作系统。 遵循IETF制定的安全Shell(SSH)协议标准的实现,注重标准化和一致性。
特性集 提供多种额外功能,如端口转发、X11转发、SCP、SFTP等工具。 专注于核心协议功能,可能不包含OpenSSH中的一些扩展功能。
更新频率 拥有活跃的开源社区支持,更新快速,能及时响应安全威胁。 更新依赖于IETF的标准进程,可能较慢,但更注重长期稳定性和一致性。
兼容性 广泛兼容各种操作系统和服务,是许多服务器默认配置的一部分。 更加注重跨平台和供应商之间的互操作性,遵循统一标准。
安全性 安全性强,但可能因附加功能而存在一些潜在风险。 严格遵守IETF定义的安全标准,理论上提供更加一致的安全性保证。
灵活性 功能丰富,支持自定义配置和扩展,适合复杂的实际应用场景。 更加精简,专注于核心功能,可能缺乏某些高级或非标准功能。
社区和支持 拥有庞大的开源社区支持,问题解决和更新速度快。 依赖于IETF标准组织的支持,更新和问题解决速度可能较慢,但更规范。

image.png

最后来到这一步,将私钥导出为文件就行了

image.png

配置公钥(Debian11/12为例)

  1. 进入目录
cd ~/.ssh
  1. 维护公钥
echo "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKVxVGAe95P7J/Nyiiy+aJvWPnC+IMTwLE+VZiY8oLzy/bxmCiE/SQIVtPON3WA+QEcMzj2ei1v1+cNXqBJbfnA=" > authorized_keys
  1. 登录验证一下,然后关闭密码登录
echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/disablePwdLogin.conf
  1. 重启SSHD,完成
systemctl restart sshd