当前位置:首页 > RockyLinux > 正文

RockyLinux ssh-keygen命令详解(SSH密钥生成与安全登录配置指南)

在现代 Linux 系统管理中,使用 SSH 密钥进行身份验证是一种比传统密码更安全、更高效的方式。本文将手把手教你如何在 RockyLinux 系统中使用 ssh-keygen 命令生成 SSH 密钥对,并配置免密登录,即使是 Linux 新手也能轻松上手。

什么是 SSH 密钥?

SSH(Secure Shell)密钥是一对加密密钥:一个公钥(public key)和一个私钥(private key)。公钥可以安全地放在远程服务器上,而私钥必须严格保密,保存在本地。当客户端尝试连接服务器时,SSH 协议会通过这对密钥验证身份,从而实现免密安全登录

RockyLinux ssh-keygen命令详解(SSH密钥生成与安全登录配置指南) ssh-keygen  SSH密钥生成 Linux安全登录 免密SSH连接 第1张

第一步:打开终端并检查 SSH 客户端

首先,确保你的 RockyLinux 系统已安装 OpenSSH 客户端(通常默认已安装)。在终端中输入以下命令:

ssh -V

如果看到类似 OpenSSH_8.7p1, OpenSSL 1.1.1k 的输出,说明 SSH 客户端已就绪。

第二步:使用 ssh-keygen 生成密钥对

在终端中运行以下命令来生成新的 SSH 密钥对:

ssh-keygen -t ed25519 -C "your_email@example.com"

参数说明:

  • -t ed25519:指定使用 Ed25519 算法(推荐,比 RSA 更安全高效)
  • -C "your_email@example.com":添加注释(通常是你的邮箱,便于识别)

系统会提示你选择保存密钥的路径(默认为 ~/.ssh/id_ed25519),直接按回车使用默认路径即可。

Enter file in which to save the key (/home/username/.ssh/id_ed25519): 

接下来,你可以设置一个密钥密码(passphrase)。虽然不是必须的,但建议设置以增强安全性。如果你希望完全免密登录,可直接按回车跳过。

Enter passphrase (empty for no passphrase): Enter same passphrase again: 

成功后,你会看到类似以下输出:

Your identification has been saved in /home/username/.ssh/id_ed25519Your public key has been saved in /home/username/.ssh/id_ed25519.pubThe key fingerprint is:SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx your_email@example.comThe key's randomart image is:+--[ED25519 256]--+|        .o       ||       o..       ||      . o        ||     . .         ||    .   S        ||   . + o         ||  . = * +        ||   = O B o       ||  . + @E+        |+----[SHA256]-----+

第三步:将公钥复制到远程服务器

现在你需要把公钥(~/.ssh/id_ed25519.pub)内容添加到目标服务器的 ~/.ssh/authorized_keys 文件中。最简单的方法是使用 ssh-copy-id 命令:

ssh-copy-id -i ~/.ssh/id_ed25519.pub username@remote_server_ip

系统会提示你输入远程服务器的密码。输入后,公钥将自动复制过去。

第四步:测试免密登录

现在尝试 SSH 登录远程服务器:

ssh username@remote_server_ip

如果一切配置正确,你将无需输入密码即可成功登录!这正是我们所说的 免密SSH连接

常见问题与安全建议

  • 确保私钥文件(如 id_ed25519)权限为 600
    chmod 600 ~/.ssh/id_ed25519
  • 不要将私钥上传到 GitHub 或其他公共平台!
  • 定期轮换 SSH 密钥以提升 Linux安全登录 级别。

总结

通过本教程,你已经掌握了在 RockyLinux 中使用 ssh-keygen 命令生成 SSH 密钥对的完整流程。无论是用于服务器管理、自动化脚本还是 Git 操作,SSH 密钥都能为你提供更安全、更便捷的身份验证方式。记住,良好的安全习惯从正确的密钥管理开始!

关键词回顾:RockyLinux ssh-keygen, SSH密钥生成, Linux安全登录, 免密SSH连接