Debian相关

本文最后更新于 2025年11月19日 晚上

自动更新安装安全补丁

1
2
3
4
# 安装unattended-upgrades工具包
sudo apt install unattended-upgrades -y
# 启用配置(让它只处理安全更新),- - 选择'yes'启用自动更新
sudo dpkg-reconfigure unattended-upgrades

配置时区和NTP服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 设置时区
sudo timedatectl set-timezone Asia/Shanghai
# 查看
date

# 查看同步状态
# System clock synchronized
# NTP service
timedatectl

# 启用systemd-timesyncd,并打开NTP(若未开启同步)
# 安装
sudo apt install systemd-timesyncd -y
#启用
sudo systemctl enable systemd-timesyncd
sudo systemctl start systemd-timesyncd
# 打开NTP
sudo timedatectl set-ntp true
# 查看同步状态,应变成
# System clock synchronized: yes
# NTP service: active
timedatectl

修改ssh端口号

1.修改配置文件
1
sudo nano /etc/ssh/sshd_config

找到#Port 22这一行,取消注释并修改为其他端口号

2.重启ssh生效
1
systemctl restart sshd

保持ssh连接

1.编辑配置文件
1
nano /etc/ssh/sshd_config
2.添加配置
1
2
ClientAliveInterval 60 
ClientAliveCountMax 3

ClientAliveInterval:指定了服务器端向客户端请求的时间间隔,默认是 0 ,不发送。60 表示每分钟发送一次,然后客户端响应,这样就保持长连接了。
ClientAliveCountMax:使用默认值 3 即可,ClientAliveCountMax 表示服务器发出请求后,客户端没有响应的次数达到一定值,就自动断开。正常情况下,客户端不会不响应。

3.重启sshd
1
systemctl restart sshd

SSH开启密钥登录

1.生成密钥对
1
ssh-keygen -t rsa -b 4096

一路enter跳过即可,会在/root/.ssh下生成公钥id_rsa.pub和私钥id_rsa (公钥是用于服务器端,私钥是用于客户端) 然后将私钥id_rsa下载至电脑上(登录时会用到)

2.将公钥添加到 authorized_keys
1
2
3
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
3.修改配置文件
1
2
3
4
5
6
7
sudo nano /etc/ssh/sshd_config

# 修改配置文件的内容
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
3.重启ssh生效
1
sudo systemctl restart ssh

开启BBR

第一步:检查内核版本

首先,使用 uname 命令检查你当前的内核版本,需要的内核版本号大于或等于 4.9

1
uname -r

第二步:修改 sysctl 配置

编辑 /etc/sysctl.conf 文件:

1
sudo nano /etc/sysctl.conf

在文件的末尾添加以下两行配置:

1
2
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

第三步:应用新配置

保存并关闭文件后,运行以下命令来使配置立即生效:

1
sudo sysctl -p

第四步:验证 BBR 是否成功开启

最后,你可以通过以下命令来验证 BBR 是否已经成功启用:

1
2
3
4
# 检查 TCP 拥塞控制算法:如果输出为 `net.ipv4.tcp_congestion_control = bbr`,则表示成功
sysctl net.ipv4.tcp_congestion_control
# 检查bbr模块是否已加载:如果这条命令有任何输出,例如 `tcp_bbr`,则说明 BBR 模块已成功加载
lsmod | grep bbr

开启Swap

一、查看当前 Swap 状态

1
2
# 若输出为空或Swap为0B,说明系统当前没有开启Swap
swapon --show free -h

二、创建 Swap 文件

假设你想创建一个 2G 的 Swap(推荐:内存 1G → Swap 2G):

1
2
3
4
sudo fallocate -l 2G /swapfile

# 如果提示fallocate failed(部分 VPS 不支持),可以改用:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

三、设置权限(安全必须)

1
sudo chmod 600 /swapfile

四、格式化为 Swap

1
sudo mkswap /swapfile

输出类似:Setting up swapspace version 1, size = 2 GiB

五、启用 Swap

1
2
3
4
# 启用
sudo swapon /swapfile
# 验证,应能看到多出一块Swap空间
swapon --show free -h

六、开机自动挂载

1
2
3
4
# 编辑/etc/fstab
sudo nano /etc/fstab
# 在文件末尾添加并保存
/swapfile none swap sw 0 0

七、(可选)调整 Swap 优先级与倾向

默认系统优先使用内存,可稍微调低 Swap 使用频率:

1
2
3
4
5
6
7
8
9
10
11
12
# vm.swappiness
# 值 含义
# 0 尽可能不使用swap(除非内存几乎用完)
# 10 极少使用swap(适合物理内存较多的服务器)
# 60 默认值(Debian、Ubuntu 默认)
# 80 比较积极使用swap(让系统更快地把冷数据换出去)
# 100 非常积极,内存稍微紧张就会大量用swap

# 临时生效
sudo sysctl vm.swappiness=80
# 永久生效
echo "vm.swappiness=80" | sudo tee -a /etc/sysctl.conf

八、(可选)查看内存使用情况

1
free -h

配置fail2ban和SSH封禁

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 安装
apt install fail2ban -y
# 新建自定义配置文件
touch /etc/fail2ban/jail.local

# SSH封禁策略
[sshd]
# 启用 SSH 规则
enabled = true
# SSH 端口(改成你自己的,比如 2295)
port = 2295
# 使用默认 sshd 过滤器
filter = sshd
# 日志读取方式:systemd(Debian 12 推荐)
backend = systemd
# 登录失败阈值:同一个 IP 在 10 分钟内失败 3 次即封禁
maxretry = 3
findtime = 10m
# 封禁时长:6 小时(可改为 1h / 24h / -1)
bantime = 6h
# 日志路径(仅当 backend 不是 systemd 时需要)
# logpath = /var/log/auth.log
# 可选:启动时清理过期封禁(建议保留)
banaction = iptables-multiport
banaction_allports = iptables-allports

安装docker和docker compose

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 卸载旧版本(如果有)
sudo apt remove docker docker-engine docker.io containerd runc -y

# 安装必要的依赖包
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

# 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装docker(Debian 12 的 Docker 包已经内置docker compose子命令)
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 查看
docker version
docker-compose version

更新软件包

1
sudo apt update -y && sudo apt upgrade -y

Debian相关
http://blog.baicat.eu.org/2024/08/29/Debian相关/
作者
liuxiaobai5201314
发布于
2024年8月29日
更新于
2025年11月19日
许可协议