SSH连接配置
使用厂商提供的ip+root口令,登陆到vps,进行配置,以下命令在Debian与Ubuntu系统通用。
1
2
3
4
|
apt update
apt upgrade # 确保后续所有安装都在最新版
apt install htop wget curl net-tools dnsutils zsh git iputils-ping screen vim ca-certificates -y # 安装基本工具
ssh-keygen -t ed25519 # 生成本地密钥
|
在 ~/.ssh 目录下新建 authorized_keys 文件,在其内添加自己的公钥。
编辑 /etc/ssh/sshd_config 文件,对对应选项进行修改:
1
2
3
4
5
6
7
8
9
|
# vim /etc/ssh/sshd_config
Port 9966 # 修改为自己想要的端口
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication no # 确保已经可以通过公钥连接服务器后再关闭该选项
PermitEmptyPasswords no
GatewayPorts clientspecified # 用于ssh端口转发
X11Forwarding no # 减少不必要的性能消耗
|
sshd配置文件存在overriding,为避免被覆盖,可将上述配置直接添加到配置文件底部,随后重启 sshd 服务。
1
2
3
|
systemctl restart sshd
# 不生效则重启 ssh 服务
systemctl restart ssh
|
1
2
3
|
# 测试通过私钥与新配置的端口连接服务器
ssh root@xxx.xxx.xxx.xxx -p 9966 -i /path/to/private_key
# 如果VPS厂商有自带防火墙控制,需要对应放开端口
|
修改默认root密码。
完成配置后,最好使用fail2ban对sshd进行防护,增强安全性。
配置常用用户与无权限用户
参见[本站文章].
安装docker与docker compose
参见[本站文章].
安装OhMyZsh
参见[本站文章].
配置ufw防火墙
1
2
3
4
5
6
7
8
9
10
|
ufw status # 查看防火墙状态
ufw default deny incoming # 配置默认拒绝所有传入连接
ufw default allow outgoing # 配置默认允许所有传出连接
ufw logging on # 启用ufw日志
ufw allow 9966/tcp # 前文配置的ssh端口,对应打开
ufw allow 80,443/tcp # http与https所需
ufw allow 443/udp # http3所需
# ❗️❗️❗️**确保同时有另一个ssh连接窗口已连接情况下,再应用ufw规则**❗️❗️❗️
ufw enable # 启用防火墙
|
❗️❗️❗️确保同时有另一个ssh连接窗口已连接情况下,再应用ufw规则❗️❗️❗️
1
|
ufw reload # 应用已配置的ufw规则
|
优化网络配置
使用[TCP 迷之调参]网站来优化网络配置参数,生成的配置文件,通过 sysctl 应用。
1
|
sysctl -p /path/to/generated_sysctl.conf # 比如 /etc/sysctl.d/99-custom.conf
|