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

Ubuntu SSH密钥生成(手把手教你使用ssh-keygen命令配置安全远程登录)

在现代Linux系统管理中,使用SSH密钥认证是提升服务器安全性的最佳实践之一。相比传统的密码登录,SSH密钥不仅更安全,还能实现免密登录,极大提高工作效率。本文将详细讲解如何在Ubuntu系统中使用ssh-keygen命令生成SSH密钥对,并完成基本配置。即使你是完全的新手,也能轻松上手!

什么是SSH密钥?

SSH(Secure Shell)是一种加密的网络协议,用于安全地访问远程服务器。SSH密钥由一对文件组成:一个私钥(private key)和一个公钥(public key)。私钥必须严格保密,保存在本地;公钥则可以上传到远程服务器。当客户端尝试连接时,服务器会用公钥验证私钥持有者的身份,从而实现安全认证。

Ubuntu SSH密钥生成(手把手教你使用ssh-keygen命令配置安全远程登录) SSH密钥生成 ssh-keygen命令教程 SSH公私钥配置 Linux远程登录安全 第1张

准备工作

确保你的Ubuntu系统已安装OpenSSH客户端。大多数Ubuntu发行版默认已包含。如未安装,可运行以下命令:

sudo apt updatesudo apt install openssh-client

步骤一:使用ssh-keygen生成SSH密钥对

打开终端(Terminal),输入以下命令:

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

参数说明:

  • -t rsa:指定密钥类型为RSA(目前最常用)。
  • -b 4096:指定密钥长度为4096位(比默认的2048位更安全)。
  • -C "your_email@example.com":添加注释(通常为邮箱),便于识别密钥用途。

执行后,系统会提示你选择保存密钥的路径。直接按回车使用默认路径:~/.ssh/id_rsa

Enter file in which to save the key (/home/your_username/.ssh/id_rsa):

接下来,系统会询问是否设置密码短语(passphrase)。你可以选择设置(更安全)或直接按回车跳过(方便自动化脚本使用)。

步骤二:查看生成的密钥文件

生成完成后,进入.ssh目录查看:

ls -l ~/.ssh/

你会看到两个关键文件:

  • id_rsa:私钥文件(切勿泄露
  • id_rsa.pub:公钥文件(可安全分享)

步骤三:将公钥上传到远程服务器

假设你要登录的服务器IP为192.168.1.100,用户名为ubuntu,可使用ssh-copy-id命令自动上传公钥:

ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@192.168.1.100

系统会提示你输入远程服务器的密码。成功后,下次再通过SSH连接该服务器时,将不再需要密码(除非设置了passphrase)。

常见问题与注意事项

  • 权限问题:确保~/.ssh目录权限为700,私钥文件权限为600。可通过以下命令修复:
chmod 700 ~/.sshchmod 600 ~/.ssh/id_rsa
  • 多台服务器:你可以为不同服务器生成不同的密钥对,只需在ssh-keygen时指定不同文件名即可。
  • 备份私钥:私钥一旦丢失且未备份,将无法再通过密钥登录服务器。建议妥善备份。

总结

通过本文,你已经掌握了在Ubuntu系统中使用ssh-keygen命令生成SSH密钥的基本方法。这不仅能提升Linux远程登录安全性,还能简化日常运维操作。记住,良好的安全习惯从正确配置SSH公私钥配置开始!

如果你正在学习服务器管理,那么掌握Ubuntu SSH密钥生成ssh-keygen命令教程中的技巧,将是你迈向专业运维的重要一步。