在加密方式的选择上, RSA 4096
曾经是常用的选择, 但随着时间的推移, 它逐渐被淘汰, 取而代之的是更安全、更高效的 Ed25519
。如今, GitHub 和大多数平台都建议尽可能使用 Ed25519
生成 Ed25519 密钥对
生成 Ed25519
密钥对的命令如下
ssh-keygen -t ed25519 -C "your_email@example.com"
默认轮数为 16。如果你需要提高密钥的安全性, 可以使用
-a
参数增加轮数, 但请注意, 增加轮数会导致密钥生成和验证的速度变慢, 登录时可能会出现延迟。默认值为 16, 通常不超过 1 秒的登录时间, 而值 150 或更大可能会增加几秒或更多的延迟。轮数越高, 登录速度可能会受到更大影响
例如, 使用 100 轮生成密钥对
ssh-keygen -t ed25519 -a 100 -C "your_email@example.com"
生成 RSA 密钥对
虽然 RSA 4096
仍然被某些系统使用, 但不推荐在新系统中使用。对于大多数用户, Ed25519
是更好的选择。如果你仍然想使用 RSA 4096
, 可以使用以下命令
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
如果不指定参数, ssh-keygen
默认生成 RSA 2048
密钥
ssh-keygen -C "your_email@example.com"
将公钥复制到远程服务器 ssh-copy-id
将生成的公钥复制到远程机器上, 使用 ssh-copy-id
命令。一般情况下, 不需要指定 -i
参数, 除非你想使用特定的公钥文件
ssh-copy-id -i .ssh/id_ed25519.pub user@192.168.0.1
这样, 公钥就会被复制到远程服务器的 ~/.ssh/authorized_keys
文件中, 从而实现无密码登录
原文