新手服务器运维指南:从零搭建安全的Linux服务器环境
第一步:初始化服务器环境
购买云服务器后(以CentOS 7/Ubuntu 22.04为例),你会得到一个IP地址、root密码。
首先需要用SSH工具连接到服务器。
本地准备工作:
- Windows用户:下载 PuTTY 或使用系统自带的PowerShell。
- Mac/Linux用户:直接打开终端。
连接命令:
ssh root@你的服务器IP
输入密码后进入系统。
第一次登录建议立即修改root密码:
passwd
按提示输入两次新密码。
接着更新软件包:
- Ubuntu/Debian:
apt update && apt upgrade -y
- CentOS/RHEL:
yum update -y
确保系统内核和软件处于最新,降低已知漏洞风险。
第二步:SSH安全加固
直接使用root+密码登录风险较高,建议修改SSH默认端口并禁止root远程登录。
创建普通用户并赋予sudo权限:
useradd -m -G sudo yourname # Ubuntu,CentOS将sudo换成wheel
passwd yourname
编辑SSH配置文件:
vi /etc/ssh/sshd_config
找到以下参数并修改:
Port 22→ 改为一个大于1024的口令,例如Port 2222(记录好新端口)PermitRootLogin yes→ 改为PermitRootLogin noPasswordAuthentication yes→ 如果你配置了密钥对,可以改为no;否则先保留yes
保存退出后重启SSH服务:
systemctl restart sshd
注意: 修改端口后,必须用新端口连接(例如 ssh yourname@IP -p 2222),不要关闭当前连接窗口,先另开一个窗口测试新配置是否生效,避免把自己锁在外面。
第三步:防火墙入门与基础命令
安装并配置防火墙:
- Ubuntu使用UFW:
apt install ufw -y
ufw allow 2222/tcp # 放行你修改的SSH端口
ufw allow 80/tcp # 放行Web服务端口
ufw enable
- CentOS使用firewalld:
systemctl start firewalld
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
常用系统信息查看命令:
- 查看磁盘使用:
df -h - 查看内存占用:
free -m - 查看进程:
top或htop(需安装) - 查看系统位数和内核:
uname -a
这些命令是日常服务器运维的基础,能帮快速判断资源是否吃紧。
第四步:日志查看与简单监控
系统日志记录着服务运行状态和报错信息,是排查问题的第一手资料。
- 查看系统日志:
journalctl -xe # systemd系统
tail -f /var/log/syslog # Ubuntu传统日志
tail -f /var/log/messages # CentOS
- 查看登录记录:
last或lastb(显示失败登录) - 安装简易监控软件(如
netdata或htop),但新手不建议过度安装,先掌握原生命令。
常见问题与避坑
- 修改SSH端口后忘记放行防火墙,导致无法连接 → 可以尝试云服务商控制台的VNC/远程连接救急。
- 禁止root登录后,误删了sudo用户的sudo权限 → 可以通过VNC单用户模式修复。
apt upgrade可能升级内核导致需要重启,但重启前一定要确认SSH配置正确,否则重启后无法连接。- 防火墙开启后记得逐一放行需要的端口,不要一次性
ufw deny incoming然后忘记放行SSH。
第五步:验证安全配置是否生效
测试步骤:
- 用普通用户通过新端口SSH登录:
ssh yourname@IP -p 2222 - 尝试用root直接SSH(错误端口或原端口),应提示
Permission denied (publickey)或连接超时(端口关闭)。 - 执行
sudo -l检查普通用户的sudo权限。 - 查看防火墙状态:
ufw status或firewall-cmd --list-all,确认SSH端口和Web端口已放行。 - 使用
ss -tlnp | grep 2222确认SSH服务监听在新端口。
如果以上全部通过,说明你已经完成了一次基础的服务器安全和运维配置。
后续可以在此基础上安装LNMP环境、部署网站等。
记住一个原则:每次修改配置前先备份原文件(例如 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak),关闭连接前先测试新配置。
遵循这些习惯,服务器运维会少踩很多坑。