Ubuntu

VMware Ubuntu

1、安装粘贴复制功能

1
2
3
4
sudo apt install -y open-vm-tools open-vm-tools-desktop

#强制重启虚拟机(必须)
sudo reboot

2、启动SSH服务(Xshell7)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 1. 安装SSH服务
sudo apt update
sudo apt install -y openssh-server

# 2. 启动服务(Ubuntu服务名为ssh)
sudo systemctl enable --now ssh

# 3. 验证安装
sudo systemctl status ssh --no-pager
sudo ss -tuln | grep :22
预期输出:
tcp 0 0 0.0.00:22 0.0.0.0:* LISTEN

3、设置root密码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 设置root密码(必须)      8位数
sudo passwd root                  

# 测试root登录
su -

## 立即禁用root SSH登录(安全规范)  也可以不用管
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

#启动sshd
sudo systemctl restart sshd

4、系统更新与版本确认

1
2
3
4
5
6
7
8
# 查看系统版本(关键!不同版本命令有差异)
lsb_release -a

# 更新软件源并升级系统
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

# 查看内核版本
uname -a

创建专用运维用户

1
2
3
4
5
6
7
# 如果当前用户权限不足,创建运维专用账户
sudo useradd -m -s /bin/bash -G sudo ops
sudo passwd ops

# 为新用户配置免密sudo(生产环境慎用)
echo "ops ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ops
sudo chmod 440 /etc/sudoers.d/ops

4. 配置系统时区与NTP

bash

复制

1
2
3
4
5
6
7
8
# 设置时区为上海
sudo timedatectl set-timezone Asia/Shanghai

# 安装并启用NTP同步
sudo apt install chrony -y
sudo systemctl enable chrony
sudo systemctl start chrony
timedatectl status  # 确认NTP synchronized: yes

Phase 2: 网络与安全配置(20分钟)

5. 配置静态IP(企业环境必需)

bash

复制

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 查看网卡名称(18.04+使用netplan)
ip a  # 记住网卡名如ens33

# 编辑netplan配置
sudo vim /etc/netplan/01-netcfg.yaml

# 写入以下内容(根据实际网卡名和IP修改)
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [223.5.5.5, 8.8.8.8]

# 应用配置
sudo netplan apply
ip a  # 验证IP是否生效

6. SSH服务加固(生产级配置)

bash

复制

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# 安装SSH服务
sudo apt install openssh-server -y

# 备份原始配置
sudo cp /etc/ssh/sshd_config{,.bak}

# 关键配置项(逐条执行或编辑文件)
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config                    # 修改默认端口
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
sudo sed -i 's/#MaxAuthTries 6/MaxAuthTries 3/' /etc/ssh/sshd_config
sudo sed -i '$a AllowUsers ops' /etc/ssh/sshd_config                        # 仅允许ops用户

# 重启SSH并设置开机自启
sudo systemctl restart sshd
sudo systemctl enable sshd

# 查看监听状态
ss -tuln | grep 2222

7. 配置主机名与hosts

bash

复制

1
2
3
4
5
6
7
8
# 设置规范主机名(建议格式:业务-角色-序号)
sudo hostnamectl set-hostname dev-web-01

# 写入hosts文件(便于内部解析)
sudo vim /etc/hosts
# 添加:
127.0.0.1 localhost dev-web-01
192.168.1.100 dev-web-01

8. 配置防火墙(UFW)

bash

复制

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 启用UFW(Uncomplicated Firewall)
sudo apt install ufw -y

# 默认拒绝所有入站
sudo ufw default deny incoming
sudo ufw default allow outgoing

# 开放必要端口(根据实际服务调整)
sudo ufw allow 2222/tcp    # SSH
sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS

# 启用防火墙
sudo ufw enable
sudo ufw status verbose

Phase 3: 运维核心工具安装(20分钟)

9. 必备命令行工具集

bash

复制

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 网络诊断工具
sudo apt install -y net-tools iputils-ping traceroute dnsutils tcpdump nmap telnet netcat

# 文本处理与查看
sudo apt install -y vim tree htop iotop sysstat lsof strace

# 压缩解压
sudo apt install -y unzip gzip bzip2 tar

# 版本控制
sudo apt install -y git subversion
git config --global user.name "ops"
git config --global user.email "ops@company.com"

# 下载工具
sudo apt install -y wget curl axel

10. 系统监控与性能分析

bash

复制

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 实时监控
sudo apt install -y htop iotop glances

# 日志分析
sudo apt install -y logwatch

# 进程监控
sudo apt install -y atop

# 磁盘与IO
sudo apt install -y iostat

# 服务管理(systemd自带,但可加强)
sudo apt install -y systemd-coredump

11. Docker与容器环境(现代运维必备)

bash

复制

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# 卸载旧版本
sudo apt remove -y docker docker.io containerd runc

# 安装依赖
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

# 添加Docker官方GPG密钥和仓库
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 配置用户权限(避免每次sudo)
sudo usermod -aG docker $USER
newgrp docker

# 验证安装
docker --version
docker run hello-world

Phase 4: 系统加固与优化(15分钟)

12. 内核参数优化(/etc/sysctl.conf)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 备份
sudo cp /etc/sysctl.conf{,.bak}

# 追加核心参数
sudo tee -a /etc/sysctl.conf <<EOF
# 网络性能优化
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 15

# 文件句柄限制
fs.file-max = 65535

# 禁用IPv6(根据企业规范)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

# 安全加固
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.accept_redirects = 0
EOF

# 生效
sudo sysctl -p

13. limits.conf 配置(进程资源限制)

1
2
3
4
5
6
7
sudo vim /etc/security/limits.conf

# 添加以下内容
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

14. 日志轮转优化

1
2
3
4
5
# 查看当前logrotate配置
sudo vim /etc/logrotate.d/rsyslog

# 建议修改:减小单个日志文件大小,加快轮转
# 将weekly改为daily,rotate 4改为rotate 7

15. 安装配置fail2ban(防暴力破解)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
sudo apt install -y fail2ban

# 创建SSH防护规则
sudo vim /etc/fail2ban/jail.local
# 写入:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600

# 启动服务
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Phase 5: 备份与文档(5分钟)

16. 创建系统快照(黄金规则)

1
VMware菜单 → 虚拟机 → 快照 → 拍摄快照

命名规范Prod-Ready-Ubuntu-2024-11-13 描述:基础系统+SSH加固+监控工具+Docker环境

17. 生成配置文档

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 记录系统配置
sudo mkdir -p /opt/docs
sudo vim /opt/docs/system-init-report.md

# 写入关键信息模板:
## 系统初始化报告
- 主机名: dev-web-01
- IP地址: 192.168.1.100
- SSH端口: 2222
- 系统版本: Ubuntu 22.04.3 LTS
- 内核版本: 5.15.x
- 初始化时间: 2024-11-13
- Docker版本: 24.0.x
- 允许登录用户: ops

## 安全加固项
- [x] 禁用Root SSH登录
- [x] 修改SSH端口
- [x] 配置UFW防火墙
- [x] 安装fail2ban

## 已安装核心工具
- net-tools, tcpdump, nmap
- docker, docker-compose
- htop, iotop, glances

运维工程师每日检查清单(添加到alias)

1
2
3
4
5
6
# 添加到~/.bashrc
echo "alias sys-check='echo ===系统检查===; uptime; free -h; df -h; ss -tuln; docker ps --format \"table {{.Names}}\\t{{.Status}}\"'" >> ~/.bashrc
source ~/.bashrc

# 使用
sys-check
本文采用 CC BY-NC-SA 4.0 许可协议
使用 Hugo 构建
主题 StackJimmy 设计