当前位置:首页 > 系统教程 > 正文

Linux ssh-keygen指令详解(生成SSH密钥对完全教程)

Linux ssh-keygen指令详解(生成SSH密钥对完全教程)

对于Linux用户和系统管理员来说,SSH密钥对是实现安全远程登录的基础。本文将详细介绍ssh-keygen命令的使用,即使是小白也能轻松掌握。

什么是SSH密钥对?

SSH密钥对由公钥和私钥组成,用于公钥认证。私钥保存在本地,公钥可以部署到任何需要访问的服务器。相比密码登录,密钥认证更安全,且便于自动化。

Linux ssh-keygen指令详解(生成SSH密钥对完全教程) SSH密钥对  ssh-keygen Linux安全 公钥认证 第1张

ssh-keygen基本用法

在终端输入ssh-keygen即可生成默认的RSA密钥对(2048位)。但对于Linux安全最佳实践,建议使用更强的加密算法和位数。

常用选项

  • -t:指定密钥类型,如rsa、dsa、ecdsa、ed25519。
  • -b:指定密钥位数,RSA默认2048,建议4096。
  • -C:添加注释,通常使用邮箱。
  • -f:指定生成的文件名。
  • -N:提供私钥密码短语。

实战示例

生成一个带注释的ED25519密钥(目前最安全):

ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/mykey

系统会提示输入密码短语,可直接回车(空密码)。之后会在~/.ssh/下生成mykey(私钥)和mykey.pub(公钥)。

查看公钥内容:

cat ~/.ssh/mykey.pub

输出类似:ssh-ed25519 AAAAC3... your_email@example.com

将公钥添加到远程服务器

使用ssh-copy-id命令:

ssh-copy-id -i ~/.ssh/mykey.pub user@remote-server

之后即可用私钥免密登录:

ssh -i ~/.ssh/mykey user@remote-server

通过公钥认证,你的连接将更安全,并有效防止暴力破解。

总结

掌握ssh-keygen是Linux用户的必备技能,它让你轻松管理SSH密钥对,提升系统安全性。更多高级用法可查阅man手册。