Linux 初始配置
发布于 · 更新于
此文主要针对 Linux 服务器的配置
但对于 WSL 甚至 Linux 桌面系统,Shell 配置部分大抵也是可以参考的
安全配置
创建普通用户并配置 sudo
具体过程就不写了,直接问 AI 就行
ssh 配置
通过编辑 /etc/ssh/sshd_config 来修改配置
这个文件里默认列出的很多选项是被注释掉的状态,取消注释(删掉对应的#)并修改值即可
如: #Port 22 改为 Port 12345
下面的各项都是此文件内的设置项
更改 ssh 端口
非常重要,默认端口绝对会被扫
Port 25565 # 修改成任意非常用端口禁用 root 登录
PermitRootLogin no配置仅密钥登录
先启用密钥登录
PubkeyAuthentication yes在本地生成 SSH 密钥对并上传到服务器,测试确认密钥登录正常
然后关闭密码登录,非常重要,防止被爆破
PasswordAuthentication no配置防火墙
这个也可以直接问 AI
要点为:
- 只开放需要用到的几个端口
- 未开放端口的响应策略设置为
DROP
注意很多云服务器厂商还会需要去网页控制台调节安全组
其他
可以设置系统自动更新
如 Debian 使用 unattended-upgrades
可以使用 fail2ban 防爆破
Shell 配置
个人偏好 zsh ,同时不使用 oh my zsh 以减少资源占用
如果服务器内存捉襟见肘,可以尝试 ble.sh
安装 zsh 和有用的 zsh 插件
问AI
插件我用到了两个,下面配置文件中有提到
切换默认 shell
chsh -s $(which zsh)配置 zsh
# 如果是非交互环境则不加载下面的配置[[ $- != *i* ]] && return
# 加载需要的函数autoload -Uz compinit && compinit # Tab 补全autoload -U colors && colors # 提供颜色定义变量,下面会用到
# 设置提示符格式PROMPT='%F{green}%n@%m%f:%F{blue}%~%f %# '
# 设置彩色输出if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias grep='grep --color=auto'fi
# Tab 补全配置zstyle ':completion:*' menu select # 按 Tab 时显示候选项列表,可用方向键选择zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} # 候选项使用 ls 同款颜色方案zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # 大小写模糊
# 上下箭头替换成前缀搜索而不只滚动显示历史bindkey '^[[A' history-search-backwardbindkey '^[[B' history-search-forward
# 第三方插件# zsh-syntax-highlighting 命令语法高亮source /安装目录/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh# zsh-autosuggestions 根据历史记录提供补全建议source /安装目录/zsh-autosuggestions/zsh-autosuggestions.zsh
# 历史记录相关设置HISTFILE=~/.zsh_history # 命令历史保存位置HISTSIZE=1000 # 内存中保存的条数SAVEHIST=1000 # 文件中保存的条数setopt SHARE_HISTORY # 实时与文件同步历史setopt HIST_IGNORE_ALL_DUPS # 如果新记录与历史中某命令完全相同,则丢弃旧记录setopt EXTENDED_HISTORY # 在历史中记录命令的执行时间戳setopt HIST_EXPIRE_DUPS_FIRST # 清理历史时优先删除重复条目setopt HIST_FIND_NO_DUPS # 历史搜索时不重复显示连续的相同条目
# 其它参数setopt AUTO_CD # 可以省略 cd ,直接输入目录名进入目录setopt NO_BEEP # 关闭错误提示音
export LANG=en_US.UTF-8export EDITOR=vim # 默认编辑器,根据个人喜好调整,如 wsl 可以用 'code --wait'export VISUAL=vim # 一般与上一行保持一致即可
# 下面再根据你的 .bashrc 加上 PATH 等其它参数(如果有)