前言 接触 Linux 也有挺长时间了,上初中那就看别人搭建免流,我也试着买服务器搭了一个,即使当初不懂 Linux 甚至不会编程,但用这各位大佬的一脚脚本,一顿 CV 操作,黑底白字屏幕哐哐滚动着看不懂的内容…..
目前对 Linux 也算不上懂,就用而已,很长一段时间,我拿到服务器的第一个操作是。。。 Root 用户起手,开放所有端口,安装宝塔一把梭(当然现在是 1panel 了)。。。。。
最近突然对手动运维感一点兴趣,规范了一下自己的操作流,也加深了一些知识在脑中的印象
这篇文章是关于拿到 Linux 服务器后在使用前推荐的一些配置。
本文操作以 Debain 为例。
Linux服务器初始配置全流程详解 一、创建普通用户与权限分配 1.1 创建普通用户
执行后会交互式提示设置密码和用户信息(可回车跳过非必填项)。推荐使用全小写字母+数字组合用户名(如devops
),避免使用特殊字符。
1.2 授予sudo权限 usermod -aG sudo your_username
Debian系统默认需要手动启用sudo组权限:
apt install sudo -y && visudo
在打开的文件末尾添加:
your_username ALL=(ALL:ALL) NOPASSWD: ALL
NOPASSWD
参数可免除每次sudo输入密码,生产环境建议删除该参数增强安全性。
二、APT源加速配置 2.1 备份原始源 cp /etc/apt/sources.list /etc/apt/sources.list.bak
2.2 替换清华源 sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
2.3 更新软件列表 apt update && apt upgrade -y
国内服务器建议同步执行apt install -y apt-transport-https ca-certificates
安装https支持
三、SSH安全加固 3.1 修改默认端口 sudo nano /etc/ssh/sshd_config
找到#Port 22
改为:
3.2 禁用root登录
3.3 启用密钥认证 PubkeyAuthentication yes PasswordAuthentication no
3.4 重启SSH服务
注意:需先配置密钥登录再禁用密码登录,否则可能被锁!
四、防火墙配置 4.1 安装UFW
4.2 放行必要端口 ufw allow 58222/tcp ufw allow 80/tcp ufw allow 443/tcp
4.3 启用防火墙
4.4 查看状态
五、SSH密钥配置 5.1 本地生成密钥对
生成的文件保存在~/.ssh/
目录:
id_ed25519(私钥)
id_ed25519.pub(公钥)
5.2 上传公钥到服务器 ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 58222 your_username@server_ip
5.3 验证登录 ssh -p 58222 your_username@server_ip
六、系统时间同步 6.1 安装chrony sudo apt install chrony -y
6.2 配置时区 sudo timedatectl set-timezone Asia/Shanghai
6.3 查看状态 timedatectl chronyc tracking
七、安全增强措施 7.1 安装fail2ban sudo apt install fail2ban -y
7.2 配置SSH防护 创建自定义配置文件:
sudo nano /etc/fail2ban/jail.d/sshd.local
添加内容:
[sshd] enabled = true port = 58222 filter = sshdlogpath = /var/log/auth.logmaxretry = 3 bantime = 86400
7.3 启动服务 systemctl restart fail2ban
八、系统资源监控 8.1 安装基础工具 sudo apt install -y htop ncdu tmux tree
8.2 配置监控面板 sudo apt install -y glancessudo apt install -y smartmontools
8.3 日志查看技巧 tail -f /var/log/auth.log | grep sshd
九、进阶安全配置 9.1 内核参数调优 sudo nano /etc/sysctl.conf
添加:
# 防御SYN洪水攻击 net.ipv4.tcp_syncookies = 1 # 禁用ICMP重定向 net.ipv4.conf.all.accept_redirects = 0 # 启用恶意ICMP错误消息保护 net.ipv4.icmp_ignore_bogus_error_responses = 1
生效配置:
9.2 文件系统加固 sudo chmod 700 /home/your_usernamesudo chmod 600 ~/.ssh/*
十、灾难恢复准备 10.1 创建系统快照 lsblk lvcreate -L 10G -s -n snap_root /dev/vg01/lv_root
10.2 配置自动备份 安装borgbackup:
sudo apt install borgbackup -y
创建备份仓库:
borg init --encryption=repokey /backup
十一、常用维护命令 11.1 系统状态检查 systemctl list-unit-files --type =service df -Thfree -h
11.2 进程管理 ps -eo pid,ppid,cmd,%mem,%cpu --sort =-%cpu | head ps -A -ostat,ppid | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9
十二、推荐开发环境 12.1 安装Docker curl -fsSL https://get.docker.com | sudo sh sudo usermod -aG docker your_username
12.2 配置Portainer docker run -d -p 9000:9000 --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ portainer/portainer-ce:latest
结语 通过以上配置,我们完成了从基础用户权限管理到系统安全加固的全流程设置。建议在完成所有配置后执行以下检查:
测试所有网络端口的连通性
验证备份恢复流程
进行压力测试观察系统表现
设置定期安全审计(可使用Lynis等工具)
sudo apt install lynis -ysudo lynis audit system
记得定期查看/var/log/security
日志文件,保持系统更新。通过apt list --upgradable
可查看待更新软件包。良好的初始化配置能让服务器在后期的运维中事半功倍,希望这篇指南能帮助您打下坚实的基础。