温馨提示×

Ubuntu SSH密钥如何生成

小樊
42
2026-08-11 09:08:28
栏目: 智能运维

在 Ubuntu 上生成 SSH 密钥非常简单,通常使用 ssh-keygen 命令即可。下面是详细步骤:


一、生成 SSH 密钥(默认方式)

  1. 打开终端
  2. 执行以下命令:
ssh-keygen
  1. 按提示操作:
  • 密钥保存路径(默认即可):

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

    直接回车即可。

  • 设置密码(passphrase)(可选):

    Enter passphrase (empty for no passphrase):
    

    建议设置一个密码以提高安全性,也可以直接回车跳过。


二、生成的文件说明

默认会在 ~/.ssh/ 目录下生成两个文件:

~/.ssh/id_rsa       # 私钥(千万不要泄露)
~/.ssh/id_rsa.pub   # 公钥(可以放到服务器上)

三、查看公钥内容

cat ~/.ssh/id_rsa.pub

复制输出的内容,用于添加到服务器。


四、将公钥添加到远程服务器

方法 1:使用 ssh-copy-id(推荐)

ssh-copy-id 用户名@服务器IP

示例:

ssh-copy-id ubuntu@192.168.1.100

方法 2:手动添加

  1. 登录远程服务器
  2. 将公钥内容追加到:
~/.ssh/authorized_keys

确保权限正确:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

五、使用 SSH 密钥登录

ssh 用户名@服务器IP

如果设置了 passphrase,会提示输入。


六、生成指定类型或长度的密钥(可选)

生成 ED25519(推荐,更安全、更快)

ssh-keygen -t ed25519

生成 4096 位 RSA

ssh-keygen -t rsa -b 4096

七、常见问题

1. 没有 .ssh 目录?

手动创建:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

2. 权限错误导致无法登录?

确保:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

如果你需要 配置多密钥Git / GitHub / GitLab SSH、或 禁用密码登录,可以继续问我。

0