0Pricing
DevOps Bootcamp · 课时

配置、加固并引导主机

将新服务器初始化到基线状态

配置、加固并引导主机 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

从空白服务器到基线

全新的主机就像一张白纸。common 角色会在应用代码部署之前,将每台服务器都设置为安全且一致的基线。🛠️

更新软件包缓存

先刷新软件包缓存,确保安装时使用当前版本。apt 模块可以在一个幂等任务中更新缓存。

- name: Update apt cache
  ansible.builtin.apt:
    update_cache: true
    cache_valid_time: 3600

安装基础软件包

使用 loop 在一个易读的任务中安装每台主机都需要的工具,例如 curl、vim 和 ufw。

- name: Base packages
  ansible.builtin.apt:
    name:
      - curl
      - ufw
      - fail2ban
    state: present

创建部署用户

切勿使用 root 执行应用操作。user 模块会创建一个专用的部署账户,由它在之后负责拥有该应用。

- name: Create deploy user
  ansible.builtin.user:
    name: deploy
    groups: sudo
    shell: /bin/bash

推送 SSH 密钥

使用 authorized_key 为部署用户授予基于密钥的登录权限,这样后续运行就无需密码即可连接。

- name: Add deploy key
  ansible.posix.authorized_key:
    user: deploy
    key: "{{ deploy_pubkey }}"

锁定 SSH

加固守护进程:禁用 root 登录和密码认证。lineinfile 模块可以安全且幂等地编辑 sshd_config。

- ansible.builtin.lineinfile:
    path: /etc/ssh/sshd_config
    regexp: "^PermitRootLogin"
    line: "PermitRootLogin no"
  notify: Restart sshd

只开放必要的端口

使用 ufw 配置防火墙:允许 SSH 和应用端口,拒绝其余端口。默认采用最小暴露原则。

- community.general.ufw:
    rule: allow
    port: "22"
    proto: tcp

设置时区和 NTP

一致的时钟对于日志和证书非常重要。设置 timezone 并启用时间同步,让每台主机都对当前时间保持一致。

- community.general.timezone:
    name: UTC

将它设为处理程序

使用 notify 加处理程序,仅在配置发生变化时重启 sshd,绝不要在每次运行时都重启。

handlers:
  - name: Restart sshd
    ansible.builtin.service:
      name: sshd
      state: restarted

以幂等方式运行

将 common 角色运行两次;第二次运行大多会报告 ok,而不是 changed。这证明您的基线确实已经收敛。

先建立基线,再部署应用

先进行加固,意味着应用会部署到已知良好且安全的主机上。引导是其他所有内容所依赖的基础。🔒

快速检查

一个选择可以让 SSH 配置编辑保持整洁。

回顾

您已经配置好了基线:软件包、一个部署用户、SSH 密钥、加固后的 sshd、防火墙和时间同步,并且全部采用幂等方式。✅

常见问题解答

「配置、加固并引导主机」课时是免费的吗?

是的 — 「配置、加固并引导主机」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「配置、加固并引导主机」这节课中我会学到什么?

将新服务器初始化到基线状态 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「配置、加固并引导主机」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 设计项目:Role 与 Inventory
  2. 配置、加固并引导主机
  3. 负载均衡器后的滚动部署
  4. 冒烟测试、回滚与通知
← 返回 DevOps Bootcamp