这篇教程做两件事:
把默认 Shell 升级成 Zsh,并安装:
Oh My Zsh(OMZ)
Spaceship Prompt(主题)
zsh-autosuggestions(自动补全建议)
zsh-syntax-highlighting(语法高亮)
安装并配置 Fail2Ban,保护 SSH 防止暴力破解。
环境假设:Debian/Ubuntu,root 或有 sudo 权限。
文中命令你可以直接复制粘贴执行。
1. 安装 Zsh
apt update
apt install -y zsh git curl
安装完成后,先确认一下版本:
zsh --version
2. 安装 Oh My Zsh(OMZ)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装脚本会自动生成 ~/.zshrc 并把你的 shell 切换到 zsh(部分环境仍建议你后面手动 chsh 一次,见第 6 节)。
3. 安装 Spaceship Prompt(主题)
Spaceship 是一个常用的现代化 Zsh 主题,信息丰富但不至于花里胡哨。
3.1 克隆主题仓库
git clone https://github.com/spaceship-prompt/spaceship-prompt.git \
"$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
3.2 建立主题软链接
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" \
"$ZSH_CUSTOM/themes/spaceship.zsh-theme"
3.3 在 .zshrc 启用主题
编辑 ~/.zshrc:
vim ~/.zshrc
找到/设置:
ZSH_THEME="spaceship"
4. 安装自动补全建议(zsh-autosuggestions)
这个插件会根据历史命令给你灰色提示,按 → 或 End 直接补全,非常爽。
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
5. 安装语法高亮(zsh-syntax-highlighting)
5.1 不同系统的安装方式(按你的环境选)
Debian/Ubuntu:
apt install -y zsh-syntax-highlightingArch:
community/zsh-syntax-highlighting(或 AUR git 版)Fedora: Fedora 24+ 有包(或 OBS)
macOS(Homebrew):
brew install zsh-syntax-highlighting其他系统:FreeBSD/Gentoo/OpenSUSE/RHEL/CentOS 等,基本都能在官方仓库或 OBS 找到对应包。
5.2 在 .zshrc 加载高亮脚本(按系统路径选一个)
大多数 Linux(非 NixOS)通常是这一条:
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
NetBSD / OpenBSD:
echo "source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
macOS / Homebrew:
echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
6. 配置 .zshrc:主题 + 插件
编辑 ~/.zshrc:
vim ~/.zshrc
参考配置(你给的内容我按 OMZ 规范排好):
ZSH_THEME="spaceship"
plugins=(
git
z
extract
zsh-autosuggestions
)
source $ZSH/oh-my-zsh.sh
保存后让配置立即生效:
source ~/.zshrc
6.1 设置默认 Shell 为 Zsh(建议执行一次)
chsh -s "$(command -v zsh)"
重新登录 SSH 后就会默认进入 zsh。
7. 安装 Fail2Ban:防 SSH 暴力破解
Fail2Ban 会监控日志,发现短时间内多次失败登录,就自动封 IP。
7.1 安装
apt update
apt install -y fail2ban
7.2 创建并编辑 jail.local
Fail2Ban 推荐用 /etc/fail2ban/jail.local 覆盖默认配置:
vim /etc/fail2ban/jail.local
写入(你给的 sshd 配置原样保留):
[sshd]
enabled = true
port = 2134
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
说明:
port = 2212:你的 SSH 端口是 2212(如果你实际不是这个端口,记得改成真实端口)maxretry = 3:10 分钟内失败 3 次就封bantime = 3600:封 60 分钟findtime = 600:统计窗口 10 分钟
7.3 重启并设置开机启动
systemctl enable fail2ban
systemctl restart fail2ban
(可选)检查状态:
systemctl status fail2ban --no-pager
fail2ban-client status
fail2ban-client status sshd
8. 最终效果与常见注意事项
Zsh + OMZ + Spaceship:提示符更清晰,git 状态等信息一眼可见
autosuggestions:历史命令秒补全
syntax-highlighting:命令对错颜色直接提示,减少手滑
Fail2Ban:SSH 爆破明显减少,日志更干净
注意:
zsh-syntax-highlighting的source ...建议放在.zshrc的末尾(高亮插件通常需要最后加载,避免被其他插件覆盖效果)。如果你发现
source /usr/share/...报路径不存在,说明你系统里的安装路径不同:用dpkg -L zsh-syntax-highlighting | grep zsh-syntax-highlighting.zsh找到真实路径再改。

