跳过正文

Linux 服务器初始化配置

Mezn
作者
Mezn
欢迎来到我的数字花园。这里记录我的技术折腾与生活感悟。

准备工作
#

安装个 openssl

scoop install openssl

生成一个密码

openssl rand -hex 10 | tee password.txt

生成一个随机端口

Get-Random -Minimum 10000 -Maximum 65536 | tee port.txt

生成一个密钥

ssh-keygen -t ed25519 -f ed25519-key.pem

获取公钥信息

cat ed25519-key.pem.pub

接下来下文里涉及到用户名使用 exltnrn

涉及到密码使用 2c2a6e65826a98a91e2d

涉及到端口使用 54984

涉及到公钥使用 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP6ywsKrMT+j9sMVtJUXCJy/sFnRrnimRPeR/84O6jtx

厂商防火墙放行
#

登陆厂商的服务器管理后台,查看服务器的安全策略,放行端口。

厂商安全策略放行端口

重装纯净系统
#

国内的服务器预装的软件比较臃肿,而且为了合规所以可能带有监控,还是 DD 重装一个干净的系统比较好。

脚本地址:📦 bin456789/reinstall

下载脚本

curl -O https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh || wget -O ${_##*/} $_

使用脚本

bash reinstall.sh debian 13 --password 2c2a6e65826a98a91e2d

看到提示重启

reboot

等待完成并登陆

ssh root@ip

配置软件源
#

国外服务器可以略过,国内服务器需要更换 清华源中科大源

安装 HTTPS 支持

apt update
apt install apt-transport-https ca-certificates

新版 debian 建议使用 DEB822 格式,所以可以直接移除旧版配置文件

mv /etc/apt/sources.list /etc/apt/sources.list.bak

配置 DEB822 格式 的 debian.sources

nano /etc/apt/sources.list.d/debian.sources

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian
Suites: trixie trixie-updates trixie-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian-security
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

更新软件源

apt update

添加用户
#

添加用户

adduser exltnrn

安装并配置 sudo

apt install sudo

添加用户到 sudo 用户组

usermod -aG sudo exltnrn

切换到新的用户

su - exltnrn

配置密钥和端口
#

创建目录

mkdir -p ~/.ssh
chmod 700 ~/.ssh

添加公钥信息

touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

nano ~/.ssh/authorized_keys

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP6ywsKrMT+j9sMVtJUXCJy/sFnRrnimRPeR/84O6jtx

配置 sshd_config

sudo nano /etc/ssh/sshd_config

- #Port 22
+ Port 54984

- #PermitRootLogin prohibit-password
+ PermitRootLogin no

- #PubkeyAuthentication yes
+ PubkeyAuthentication yes

- #PasswordAuthentication yes
+ PasswordAuthentication no

重载 ssh 服务

sudo systemctl restart sshd

测试是否可以登陆

ssh exltnrn@ip -p 54984 -i C:\Users\Maison\debian\ed25519-key.pem

切勿关闭当前窗口!
在测试成功之前,绝对不要断开当前的 SSH 连接。
重新打开一个 PowerShell 或终端进行连接测试。
如果此时关闭了窗口且密钥配置错误,将被拒之门外。

配置防火墙
#

安装 ufw 防火墙

sudo apt install ufw

设置默认策略

sudo ufw default deny

添加放行端口

sudo ufw allow 54984
sudo ufw allow 80
sudo ufw allow 443

启用防火墙

务必确认端口!
在执行 ufw enable 之前,请反复确认 SSH 端口 (54984) 已经添加到了允许列表。
如果忘记放行 SSH 端口直接启用防火墙,你将在断开连接后无法再次登录

sudo ufw enable

自启动服务

sudo systemctl enable ufw

一些性能优化
#

启用 BBR

echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p