VPS 初始化配置指南
前言
本指南提供了新购VPS(特别是NAT类型VPS)的初始化配置步骤,包括SSH连接、系统时区设置、必要软件安装、DNS配置、SSH安全加固以及防火墙设置等内容。可以快速完成VPS的基础配置,提高服务器的安全性和可用性。
一、NAT端口转发说明
如果您使用的是NAT类型的VPS(俗称"NAT小鸡"),需要通过端口转发的方式访问服务器。请按照以下步骤操作:
1.1 获取连接信息
首先登录您的NAT VPS控制面板,获取以下关键信息:
-
公网IP:
120.122.122.122(NAT VPS的公网IP地址) -
公网SSH端口:
32232(映射到VPS内部SSH服务的公网端口) -
用户名:
root(服务器登录用户名) -
密码:
123456(服务器登录密码)
注意:以上为示例信息,请以您实际获取的信息为准。
1.2 通过SSH连接服务器
使用以下命令通过公网IP和映射端口连接到您的NAT VPS:
ssh -p 32232 [email protected]
执行命令后,根据提示输入密码123456即可登录服务器。
二、系统基础配置
2.1 更换时区(可选)
将服务器时区设置为北京时间(Asia/Shanghai):
timedatectl set-timezone Asia/Shanghai
设置完成后,可以使用以下命令验证时区配置:
timedatectl
2.2 安装必要软件
更新系统软件包列表并安装常用工具软件:
apt update -y
apt install fail2ban curl unzip ufw nano -y
说明:
fail2ban:防止暴力破解的安全工具
curl:网络请求工具
unzip:解压工具
ufw:简易防火墙管理工具
nano:文本编辑器
三、网络配置
3.1 修改DNS配置(可选)
将系统DNS服务器修改为Google和Cloudflare的公共DNS,提高解析速度和稳定性:
sudo bash -c 'mkdir -p /etc/systemd/resolved.conf.d/ && cat > /etc/systemd/resolved.conf.d/dns.conf <<EOF
[Resolve]
DNS=8.8.8.8 8.4.4.8 2001:4860:4860::8888 2001:4860:4860::8844
FallbackDNS=1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
Domains=~.
DNSOverTLS=opportunistic
EOF
systemctl restart systemd-resolved'
说明:
DNS:主用DNS服务器,包括IPv4和IPv6地址
FallbackDNS:备用DNS服务器
DNSOverTLS:启用DNS over TLS加密传输
四、SSH安全加固
为了提高服务器安全性,建议开启SSH密钥登录并关闭密码登录。对于NAT VPS,由于内部SSH端口已通过NAT映射到其他公网端口,因此无需修改内部SSH端口。
4.1 生成SSH密钥对
在您的本地计算机(Windows或Mac)上生成SSH密钥对:
4.1.1 Mac/Linux系统
# 在Mac或Linux系统上生成密钥,默认保存在~/.ssh/目录下
ssh-keygen -t ed25519 -P "" -f ~/.ssh/sshkey_20250910
4.1.2 Windows系统
# 在Windows系统上生成密钥,默认保存在C:\Users\<用户名>\.ssh\目录下
ssh-keygen -t ed25519 -P "" -f C:\Users\Administrator\.ssh\sshkey_20250910
# 注意:将Administrator替换为您的Windows用户名
说明:
-t ed25519:指定使用ed25519算法生成密钥(比RSA更安全高效)
-P "":设置空密码,避免每次使用密钥时都需要输入密码
-f:指定密钥文件保存路径和名称
4.2 查看并复制公钥
密钥生成成功后,会在指定目录下生成两个文件:
-
sshkey_20250910:私钥文件,妥善保管在本地计算机 -
sshkey_20250910.pub:公钥文件,需要复制到VPS服务器
查看公钥内容:
# Mac/Linux系统
cat ~/.ssh/sshkey_20250910.pub
# Windows系统
# 可以使用记事本打开C:\Users\Administrator\.ssh\sshkey_20250910.pub文件查看
4.3 将公钥复制到VPS服务器
登录VPS服务器,执行以下命令创建.ssh目录并配置公钥:
# 创建.ssh目录并设置正确权限
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# 将公钥内容添加到authorized_keys文件
# 注意:将<your public key>替换为您实际的公钥内容
echo "<your public key> sshkey_20250910.pub" >> ~/.ssh/authorized_keys
# 设置authorized_keys文件权限
chmod 600 ~/.ssh/authorized_keys
4.4 配置SSH服务以启用密钥登录
编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
在文件中找到PubkeyAuthentication选项,将其值设置为yes(如果没有该选项,则添加):
PubkeyAuthentication yes # 允许密钥登录
保存并退出编辑器(按下Ctrl+X,然后输入y,最后按Enter确认)。
重启SSH服务以应用更改:
sudo systemctl restart sshd
4.5 测试密钥登录
在本地计算机上使用以下命令测试密钥登录是否正常工作:
4.5.1 Mac/Linux系统
ssh -p 32232 -i ~/.ssh/sshkey_20250910 [email protected]
4.5.2 Windows系统
ssh -p 32232 -i C:\Users\Administrator\.ssh\sshkey_20250910 [email protected]
说明:
-p 32232:指定SSH连接端口
-i:指定私钥文件路径
[email protected]:用户名@服务器IP地址
如果能够成功登录,则说明密钥配置正确。
4.6 关闭密码登录
为进一步提高安全性,在确认密钥登录正常后,可以关闭SSH密码登录功能:
sudo nano /etc/ssh/sshd_config
找到PasswordAuthentication选项,将其值设置为no:
PasswordAuthentication no # 禁用密码登录
保存并退出编辑器,然后重启SSH服务:
sudo systemctl restart sshd
五、UFW防火墙设置(可选)
UFW(Uncomplicated Firewall)是Ubuntu系统上的简易防火墙管理工具,可以帮助您管理服务器的入站和出站流量。
警告:配置防火墙时请务必谨慎操作,确保不会误封SSH端口,导致无法连接服务器。
5.1 配置防火墙规则
按照以下顺序配置防火墙规则:
# 允许指定IP地址的所有入站连接(替换为您的中转机IP地址)
ufw allow from 100.100.100.100 to any
# 允许指定IPv6地址段的所有入站连接(替换为您的中转机IPv6地址段)
ufw allow from 2603:100:100:100::/64 to any
# 允许指定TCP端口的入站连接(示例为3000端口)
ufw allow 3000/tcp
# 允许指定UDP端口的入站连接(示例为3000端口)
ufw allow 3000/udp
# 设置默认策略:拒绝所有入站流量
ufw default deny incoming
# 设置默认策略:允许所有出站流量
ufw default allow outgoing
5.2 启用防火墙
配置完成后,启用UFW防火墙:
ufw enable
系统会提示您确认是否启用防火墙,输入y并按Enter确认。
5.3 配置防火墙开机自启
确保防火墙在系统重启后自动启用:
systemctl enable ufw
5.4 查看防火墙状态
使用以下命令查看防火墙当前状态和规则:
# 查看简洁状态
ufw status
# 查看详细状态
ufw status verbose
5.5 管理防火墙规则
如需删除防火墙规则,首先查看规则编号:
ufw status numbered
然后使用以下命令删除指定编号的规则(例如删除编号为6的规则):
ufw delete 6
六、配置完成确认
完成以上所有步骤后,您的VPS已经完成了基础初始化配置。建议执行以下命令确认所有服务运行正常:
# 查看系统状态
systemctl status
# 查看网络连接状态
netstat -tuln
# 查看防火墙状态
ufw status
七、后续建议
- 监控系统状态:安装监控工具,如
htop、komari等,监控系统资源使用情况