为安全登录配置 SSH 证书

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本项目中,你将学习如何为 labex 用户配置 SSH 证书,以便 labex 用户在通过 SSH 登录本地实验环境时无需输入密码。

👀 预览

## 登录 localhost 无需密码

## 直接登录以进入新 shell

🎯 任务

在本项目中,你将学习:

  • 如何在 labex 用户的主目录中创建一个 .ssh 目录
  • 如何生成新的 SSH 密钥对
  • 如何将新生成的公钥添加到 authorized_keys 文件中
  • 配置 SSH 证书后如何重启 SSH 服务
  • 如何测试无密码的 SSH 连接

🏆 成果

完成本项目后,你将能够:

  • 使用 SSH 证书安全地登录本地实验环境
  • 管理 labex 用户的 SSH 配置
  • 理解使用 SSH 证书进行服务器安全访问的重要性

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/RemoteAccessandNetworkingGroup -.-> linux/ssh("Secure Connecting") subgraph Lab Skills linux/ls -.-> lab-301461{{"为安全登录配置 SSH 证书"}} linux/cat -.-> lab-301461{{"为安全登录配置 SSH 证书"}} linux/chmod -.-> lab-301461{{"为安全登录配置 SSH 证书"}} linux/mkdir -.-> lab-301461{{"为安全登录配置 SSH 证书"}} linux/service -.-> lab-301461{{"为安全登录配置 SSH 证书"}} linux/sudo -.-> lab-301461{{"为安全登录配置 SSH 证书"}} linux/ssh -.-> lab-301461{{"为安全登录配置 SSH 证书"}} end

创建 SSH 目录并生成 SSH 密钥对

在本步骤中,你将学习如何在 labex 用户的主目录中创建一个 .ssh 目录并生成新的 SSH 密钥对。

  1. 打开终端并以 labex 用户身份登录:

    sudo su - labex
  2. 创建 .ssh 目录:

    mkdir -p ~/.ssh
  3. 生成新的 SSH 密钥对:

    ssh-keygen -t rsa -b 4096 -C "labex@localhost"

出现提示时,按 Enter 键接受默认文件位置并将密码短语留空。

将公钥添加到 authorized_keys

在本步骤中,你将学习如何把新生成的公钥添加到 authorized_keys 文件中。

  1. 将公钥追加到 authorized_keys 文件:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  2. 设置 authorized_keys 文件的正确权限:

    chmod 600 ~/.ssh/authorized_keys
  3. 重启 SSH 服务:

    sudo service ssh restart

测试 SSH 连接

在本步骤中,你将学习如何测试无密码的 SSH 连接。

  1. 尝试使用 labex 用户登录本地实验环境:

    ssh labex@localhost

    现在你应该能够无密码登录。

  2. 登录后,你可以浏览 labex 用户的主目录:

    ls

    你应该会看到 CodeDesktopgolangproject 目录。

✨ 查看解决方案并练习

总结

恭喜!你已完成本项目。你可以在 LabEx 中练习更多实验来提升你的技能。