发布于 2026 年 5 月 9 日· 10 分钟阅读
新 VPS 到手第一件事:一键初始化脚本
VPSLinux安全ShellzshtmuxDocker
买完 VPS 登上去,你面对的是一台空白的机器。
不做任何配置,它每分钟都在被互联网上的机器人扫描和尝试登录。我们的服务器开放不到三天,SSH 暴力破解记录就超过了 28,000 次,单个 IP 打了 14,000 次以上。
这篇文章提供一个一键初始化脚本,涵盖安全加固、现代 CLI 工具、开发环境配置,适配主流 Linux 发行版。
一键运行
curl -fsSL https://raw.githubusercontent.com/baiye-morty/baiye-scripts/main/vps-init.sh | bash
脚本需要 root 权限。运行前会要求你粘贴 SSH 公钥,留空跳过(前提是已有其他方式登录)。
脚本做了什么
安全加固
禁用 SSH 密码登录
默认情况下服务器允许用密码 SSH 登录,这是暴力破解的入口。脚本会将其关闭,只允许密钥登录:
PasswordAuthentication no
PermitRootLogin prohibit-password
fail2ban — 自动封禁暴力破解
安装后,10 分钟内 SSH 登录失败 5 次,该 IP 自动封禁 1 小时:
fail2ban-client status sshd
# 查看已封禁的 IP 列表
防火墙
只开放必要端口:SSH(22)、HTTP(80)、HTTPS(443),其余全部拒绝。Ubuntu/Debian 用 UFW,RHEL/Fedora 用 firewalld。
系统配置
时区:设置为 Asia/Shanghai,让日志时间可读。
Swap:内存不足 2GB 时自动创建 2GB swap 文件,避免 OOM 杀掉进程。swappiness=10 让系统尽量用内存而不是 swap。
基础工具
| 工具 | 用途 |
|---|---|
htop |
交互式进程监控,比 top 好用 |
ncdu |
磁盘使用分析,找大文件神器 |
mtr |
网络路由追踪,比 traceroute 直观 |
jq |
命令行 JSON 处理,调试 API 必备 |
tree |
目录结构可视化 |
现代 CLI 工具
这些是对传统命令的现代替代,用过就回不去:
| 工具 | 替代 | 亮点 |
|---|---|---|
bat |
cat |
语法高亮、行号、Git 变更显示 |
fd |
find |
语法简单,速度快,默认忽略 .git |
rg(ripgrep) |
grep |
极速全文搜索,自动忽略 .gitignore |
fzf |
无 | 模糊搜索,Ctrl+R 搜历史命令神器 |
zoxide |
cd |
记录访问历史,z proj 直接跳到常用目录 |
duf |
df |
磁盘使用一览,颜色区分、单位自动换算 |
tldr |
man |
命令速查手册,只看常用例子 |
lazydocker |
docker 命令 | Docker TUI,不用记命令就能管容器 |
几个常用例子:
# 搜索当前目录所有包含 "error" 的文件
rg "error"
# 找所有 .go 文件
fd -e go
# 查看磁盘使用
duf
# 跳到之前去过的目录(不用记完整路径)
z baiye
# tldr 查命令用法
tldr tar
tldr docker
Docker
使用官方安装脚本,支持所有主流发行版:
curl -fsSL https://get.docker.com | sh
zsh + oh-my-zsh
脚本安装 zsh 并配置:
- zsh-autosuggestions:根据历史记录自动补全,按
→采纳 - zsh-syntax-highlighting:命令正确时高亮绿色,错误时红色
- fzf 集成:
Ctrl+R模糊搜索历史,Ctrl+T搜索文件
SSH 登录时自动进入 tmux,断线后 session 保持,重连直接 attach。
tmux 配置
主要改动:
| 快捷键 | 功能 |
|---|---|
Ctrl+A |
前缀键(替代默认的 Ctrl+B,更顺手) |
| `Ctrl+A + | ` |
Ctrl+A + - |
上下分屏 |
| 鼠标 | 可以点击切换 pane,滚轮翻历史 |
vim 配置
基础但够用:相对行号、语法高亮、4 空格缩进、鼠标支持、搜索高亮。
脚本支持的发行版
| 发行版 | 版本 |
|---|---|
| Ubuntu | 20.04 / 22.04 / 24.04 |
| Debian | 11 / 12 |
| CentOS / Rocky / AlmaLinux | 8 / 9 |
| Fedora | 36+ |
| Arch Linux | 滚动更新 |
运行之后
重新 SSH 登录,你会看到:
- shell 变成 zsh,命令有颜色和自动补全
- 自动进入 tmux session
z、bat、fd、rg等命令直接可用
查看 fail2ban 状态:
fail2ban-client status sshd
查看防火墙规则:
ufw status # Ubuntu/Debian
firewall-cmd --list-all # RHEL/Fedora
延伸阅读
- 用 $6 VPS 搭建你的第一个服务器 — 还没有 VPS?从这里开始
- Coolify:自托管的 Vercel — 有了安全的 VPS,下一步部署应用