怎样在CentOS上生成SSH密钥对

怎样在CentOS上生成SSH密钥对
最新回答
像风一样

2020-06-19 15:54:46

在CentOS上生成SSH密钥对可通过命令行工具图形用户界面两种方式实现,具体步骤如下:

一、使用命令行工具(ssh-keygen)
  1. 启动终端通过快捷键 Ctrl + Alt + T 打开终端窗口。

  2. 执行生成命令输入以下命令生成RSA算法的4096位密钥对,并添加电子邮件注释:

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

    -t rsa:指定密钥类型为RSA。

    -b 4096:设置密钥长度为4096位(增强安全性)。

    -C "注释":添加可识别密钥的注释(通常为邮箱)。

  3. 指定保存路径(可选)默认保存路径为 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。若需自定义路径,添加 -f 参数:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/my_ssh_key

    生成的文件为 ~/.ssh/my_ssh_key(私钥)和 ~/.ssh/my_ssh_key.pub(公钥)。

  4. 设置密码保护(可选)系统会提示输入私钥密码。输入密码可增强安全性,直接回车则跳过(不推荐)。

  5. 确认保存信息系统显示密钥路径和注释后,按回车确认完成生成。

二、使用图形用户界面(GUI,可选)

适用于CentOS 8及以上版本,步骤如下:

  1. 打开系统设置点击右上角齿轮图标,选择 “系统设置”

  2. 进入用户和群组在左侧菜单选择 “用户和群组”

  3. 生成SSH密钥

    点击右侧 “SSH密钥” 选项卡。

    点击 “添加SSH密钥” 按钮。

    输入邮箱作为注释,选择密钥类型(RSA)和长度(4096位)。

    点击 “生成”,系统提示设置私钥密码,输入并确认。

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

生成密钥后,需将公钥部署到远程服务器的 ~/.ssh/authorized_keys 文件中,步骤如下:

  1. 复制公钥内容

    命令行方式:cat ~/.ssh/id_rsa.pub | pbcopy # 若系统支持pbcopy(如macOS)或直接复制文件内容:cat ~/.ssh/id_rsa.pub

    图形界面方式:打开 ~/.ssh/id_rsa.pub 文件并复制内容。

  2. 连接远程服务器使用SSH登录远程主机:

    ssh username@remote_host
  3. 编辑authorized_keys文件

    使用 nano 编辑器打开文件:nano ~/.ssh/authorized_keys

    将复制的公钥粘贴到文件中(每行一个密钥)。

    按 Ctrl + X 退出,输入 Y 保存,回车确认。

  4. 设置权限确保目录和文件权限正确,防止未授权访问:

    chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys
四、验证密钥登录

完成上述步骤后,尝试无需密码登录远程服务器:

ssh username@remote_host

若直接进入远程终端,则配置成功。

注意事项
  • 密钥安全:私钥需严格保密,避免泄露;建议设置密码保护。
  • 权限设置:~/.ssh 目录权限应为 700,authorized_keys 文件权限应为 600。
  • 多密钥管理:若需使用多个密钥,需通过 -i 参数指定私钥路径,或在 ~/.ssh/config 中配置主机别名。

通过以上步骤,您可在CentOS上高效生成SSH密钥对并实现安全远程登录。