新服务器初始化清单:拿到机器后先做这10步

拿到服务器后不要急着装软件,先做好这10个基础设置,能帮你避开80%的后续坑点。整个过程约30分钟,但能省下未来几小时的排障时间。

刚拿到服务器时,我踩过的坑

三年前我第一次买云服务器,兴冲冲地装了LNMP、部署了网站,结果第二天就遇到各种问题:SSH连不上、防火墙把正常请求拦了、时区不对导致日志时间混乱、密码被暴力破解……

后来才知道,这些问题大部分可以通过初始化时的几个简单设置避免。

这份清单是我用过几十台服务器后的总结,按优先级排序,建议照顺序执行。

第1步:修改默认SSH端口

默认22端口是扫描器的重点目标。改成高位端口(如51234)能挡住90%的暴力破解。

操作方法

sudo nano /etc/ssh/sshd_config

找到 #Port 22,改成 Port 51234,保存后重启SSH:

sudo systemctl restart sshd

注意:先确认新端口能连接再断开当前会话,否则会被锁在门外。

第2步:创建非root用户

用root直接操作太危险,误删系统文件或被盗号都是灾难。

创建用户并赋予sudo权限

sudo adduser yourname
sudo usermod -aG sudo yourname

以后日常都用这个账号登录,需要root权限时加 sudo

第3步:配置SSH密钥登录

密码再复杂也不如密钥安全。

本地生成密钥(在本地电脑执行):

ssh-keygen -t ed25519 -C "your_email@example.com"

上传到服务器

ssh-copy-id -p 51234 yourname@server_ip

禁用密码登录(确认密钥能登录后再执行):

sudo nano /etc/ssh/sshd_config
# 修改以下两项
PasswordAuthentication no
PermitRootLogin no
sudo systemctl restart sshd

第4步:设置时区和NTP同步

时区不对会导致日志时间混乱,排障时很痛苦。

设置上海时区

sudo timedatectl set-timezone Asia/Shanghai

安装并启用NTP

sudo apt install ntp -y  # Ubuntu/Debian
sudo systemctl enable ntp

第5步:配置基础防火墙

只开放必要的端口,其他全部关闭。

UFW配置示例

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 51234/tcp   # SSH端口
sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS
sudo ufw enable

检查状态

sudo ufw status

第6步:设置主机名

方便在多服务器环境中识别这台机器。

sudo hostnamectl set-hostname myserver

同时在 /etc/hosts 添加:

127.0.0.1 myserver

第7步:自动安全更新

系统漏洞修补不能全靠手动。

Ubuntu/Debian

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

选择”是”,系统会自动安装安全更新。

第8步:安装基础工具包

后续操作都会用到:

sudo apt update && sudo apt install -y \
    curl wget git vim htop net-tools unzip

第9步:启用Swap(小内存机器必做)

1GB内存以下的机器,启用Swap能防止OOM killed。

创建1GB Swap

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

永久生效

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

第10步:创建基础备份脚本

即使是最简单的手动备份,也比没有强。

创建备份目录和脚本

mkdir -p ~/backup
nano ~/backup/backup.sh

基础脚本内容

#!/bin/bash
DATE=$(date +%Y%m%d)
tar -czf ~/backup/etc-$DATE.tar.gz /etc
crontab -l > ~/backup/crontab-$DATE.txt

设置权限

chmod +x ~/backup/backup.sh

可以配合定时任务每周自动执行。

你可能会在想…

Q: 这些步骤必须全部执行吗?

前5步建议必做,尤其是SSH端口、防火墙和密钥登录。后5步可以根据实际情况选择。

Q: 修改SSH端口后连不上怎么办?

先在原会话测试新端口能连接再断开。如果已经被锁,需要通过VNC或商家控制台登录恢复。

Q: 小内存服务器(1核1G)需要全部做吗?

建议都做,但Swap启用尤其重要。另外可以考虑用轻量面板或纯命令行,不装重型环境。

Q: 什么时候可以开始部署网站?

建议完成前5步后再部署,否则网站上线后再改配置容易出现访问中断。

Q: 这些设置影响服务器性能吗?

几乎无影响。防火墙、NTP、自动更新占用的资源可以忽略不计。

Rate this post
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《新服务器初始化清单:拿到机器后先做这10步》
文章链接:https://www.fuwu7.com/jiaocheng/7992.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到