温馨提示×

Ubuntu SSH如何生成SSH密钥对

小樊
136
2025-04-21 12:06:19
栏目: 智能运维

在Ubuntu系统中生成SSH密钥对是一个相对简单的过程。以下是详细的步骤:

1. 打开终端

首先,打开你的Ubuntu系统的终端。

2. 生成SSH密钥对

使用ssh-keygen命令来生成SSH密钥对。默认情况下,它会生成一个RSA密钥对,并将其存储在~/.ssh目录下。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa:指定生成的密钥类型为RSA。
  • -b 4096:指定密钥的长度为4096位。
  • -C "your_email@example.com":添加一个注释,通常是你的电子邮件地址,这有助于识别密钥。

3. 设置密钥保存位置和名称

如果你不想使用默认的文件名和位置,可以指定一个不同的文件名和路径。例如:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/my_ssh_key
  • -f ~/.ssh/my_ssh_key:指定生成的私钥文件名为my_ssh_key,并存储在~/.ssh目录下。

4. 设置密码短语(可选)

为了增加安全性,你可以为私钥设置一个密码短语。这样,每次使用私钥时都需要输入这个密码短语。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/my_ssh_key -m PEM -N "your_passphrase"
  • -m PEM:指定密钥格式为PEM。
  • -N "your_passphrase":设置密码短语。

5. 查看生成的密钥对

生成密钥对后,你可以使用以下命令查看公钥和私钥:

ls -l ~/.ssh

你应该会看到类似以下的输出:

-rw------- 1 user user 1679 Mar  1 12:34 my_ssh_key
-rw-r--r-- 1 user user  409 Mar  1 12:34 my_ssh_key.pub
  • my_ssh_key 是私钥文件。
  • my_ssh_key.pub 是公钥文件。

6. 将公钥复制到远程服务器

使用ssh-copy-id命令将公钥复制到远程服务器的~/.ssh/authorized_keys文件中。

ssh-copy-id user@remote_host
  • user 是远程服务器的用户名。
  • remote_host 是远程服务器的地址。

系统会提示你输入远程服务器用户的密码,输入正确后,公钥就会被添加到远程服务器的~/.ssh/authorized_keys文件中。

7. 测试SSH连接

现在,你可以尝试使用SSH连接到远程服务器,看看是否可以免密码登录。

ssh user@remote_host

如果一切设置正确,你应该能够直接登录到远程服务器,而不需要输入密码。

通过以上步骤,你就成功地在Ubuntu系统中生成了SSH密钥对,并将其配置到了远程服务器上。

0