切换主题
lidong 服务器入门指南
1. 网站管理界面
1.1 已开通产品列表
购买产品之后,可在个人中心-已开通产品内看到购买的服务器。如下图:

在已开通产品列表中,您可以:
- 查看所有已购买的服务器
- 查看每个服务器的基本信息(如服务器名称、状态等)
- 通过操作按钮进入具体服务器的管理界面
小贴士
建议定期检查服务器状态,确保服务正常运行。
1.2 服务器列表界面
点击进入管理界面,其中有 IP 信息、管理,如下图:

在服务器列表界面中,您可以:
- 查看服务器的 IP 地址信息(点击后可看到具体的 IPv6 地址)
- 查看服务器的运行状态
- 进行服务器的基本操作(如重启、关机等)
- 查看服务器的配置信息
警告
进行服务器重启或关机操作前,请确保已保存所有重要数据。
1.3 服务器详情界面
点击操作按钮,进入具体服务器管理页面,如下图,主要有以下关键信息:

在服务器详情界面中,您可以:
- 查看服务器的详细配置信息
- 进行服务器的各项管理操作
- 查看服务器的使用统计信息
- 管理服务器的安全组设置
- 查看服务器的监控信息
2. 远程连接服务器
初始安装时,默认是支持使用用户名、密码的 SSH 连接,以下以 Putty 工具为例:
2.1 下载 Putty
您可以在 官方网站 下载 Putty 的客户端。点此直接下载 Windows 64 位版

2.2 添加新主机并配置信息
2.2.1 配置地址和端口
在 session 页填写服务器IP 地址、端口

2.2.2 连接实例
点击 Open 按钮连接到实例。如果是第一次连接到实例,可能会看到对于密钥的验证信息。点击 Accept 按钮确认连接即可。连接成功后,会提示你输入用户名、密码,校验成功后进入控制台。即可开始 linux 管理。

使用说明
本文档适用于 Ubuntu 22.04 系统,其他 Linux 发行版可能需要适当调整命令。
3.(可选项)是否网络重装操作系统
提示
这是一个可选步骤,仅在您需要更换默认操作系统时使用。
使用 dd 脚本 重装操作系统。
下载 dd 脚本到本地
bash
# 使用 curl 或 wget 下载 reinstall.sh 脚本
# -O: 将下载的文件保存为指定名称
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_选择要重装的操作系统
以下示例为重装为 Ubuntu 22.04 最小化版本:
bash
# 执行重装脚本
# ubuntu: 目标操作系统
# 22.04: 版本号
# --minimal: 最小化安装,只安装基本系统
bash reinstall.sh ubuntu 22.04 --minimal执行后,会提示输入重装后的密码,命令执行完成后,输入 reboot 重启操作系统,等待约 5-10 分钟后,使用 SSH 工具重新连接服务器。
支持的操作系统列表
bash
bash reinstall.sh anolis 7|8|23
opencloudos 8|9|23
rocky 8|9
redhat 8|9 --img="http://xxx.com/xxx.qcow2"
oracle 8|9
almalinux 8|9
centos 9|10
fedora 40|41
nixos 24.11
debian 9|10|11|12
opensuse 15.6|tumbleweed
alpine 3.18|3.19|3.20|3.21
openeuler 20.03|22.03|24.03|25.03
ubuntu 16.04|18.04|20.04|22.04|24.04|24.10 [--minimal]
kali
arch
gentoo
aosc
fnos4. 修改密码
安全提示
请确保使用强密码,并妥善保管。
bash
# 切换到 root 用户
sudo -i
# 修改 root 用户密码
# root:<password>: 设置 root 用户的密码
# chpasswd: 批量修改用户密码的命令
echo root:<password> |sudo chpasswd root5. 优化 SSH 配置
配置说明
以下配置将优化 SSH 连接的安全性和性能。
bash
# 配置系统更新后自动重启
sudo sed -i "s/^#\?\$nrconf{restart}.*/\$nrconf{restart} = \'a\';/g" /etc/needrestart/needrestart.conf;
# 删除可能冲突的 SSH 配置文件
rm -rf /etc/ssh/sshd_config.d/*.conf
# 修改 SSH 配置
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config; # 启用 root 登录
sudo sed -i 's/^#\?Port.*/Port 3022/g' /etc/ssh/sshd_config; # 修改默认端口为 3022
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config; # 启用密码认证
sudo sed -i 's/^#\?UseDNS.*/UseDNS no/g' /etc/ssh/sshd_config; # 禁用 DNS 反向解析
sudo sed -i 's/^#\?GSSAPIAuthentication.*/GSSAPIAuthentication no/g' /etc/ssh/sshd_config; # 禁用 GSSAPI 认证
sudo sed -i 's/^#\?ClientAliveInterval.*/ClientAliveInterval 60/g' /etc/ssh/sshd_config; # 设置客户端活动检测间隔
sudo sed -i 's/^#\?ClientAliveCountMax.*/ClientAliveCountMax 10/g' /etc/ssh/sshd_config; # 设置客户端活动检测最大次数
sudo sed -i 's/^#\?X11Forwarding.*/X11Forwarding no/g' /etc/ssh/sshd_config; # 禁用 X11 转发
# 修改 systemd socket 配置
sudo sed -i 's/^#\?ListenStream.*/ListenStream=3022/g' /usr/lib/systemd/system/ssh.socket;
# 重启 SSH 服务
service sshd restart
systemctl daemon-reload
systemctl restart ssh.socket6. 优化内核参数
性能优化
以下配置将优化网络性能和连接稳定性。
bash
tee -a /etc/sysctl.conf << EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_available_congestion_control=cubic bbr
net.ipv4.tcp_fastopen=3
net.ipv4.tcp_keepalive_time=600
net.ipv4.tcp_keepalive_intvl=30
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_rmem=8192 262144 536870912
net.ipv4.tcp_wmem=4096 16384 536870912
EOF
# 应用配置
sysctl -p7. 安装常用软件
bash
# 设置时区
sudo timedatectl set-timezone Asia/Shanghai
# 更新软件包列表并安装常用工具
apt update
apt install wget net-tools telnet fail2ban cron zip -y8. 防火墙配置
警告
配置防火墙前请确保已保存当前 SSH 连接,避免配置错误导致无法连接。
bash
# 安装防火墙工具
sudo apt-get install iptables-persistent
# 配置防火墙持久化,防止重启后失效
sudo echo -e "# CLOUD_IMG: This file was created/modified by the Cloud Image build process\nIPTABLES_RESTORE_NOFLUSH=no\nIP6TABLES_RESTORE_NOFLUSH=no" > /etc/default/netfilter-persistent
sudo iptables-save | awk '{if($1=="COMMIT"){delete x}}$1=="-A"?!x[$0]++:1' | sudo iptables-restore
sudo netfilter-persistent save
sudo netfilter-persistent reload
# 清除现有规则
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
sudo iptables -X
sudo iptables -Z
# 配置基本规则
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 开放必要端口
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8001:9999 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 8001:9999 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3022 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 3022 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 5700 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 5700 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 7000 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 7000 -j ACCEPT
# 允许 ICMP (ping)
sudo iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
# 配置端口转发
iptables -t nat -A PREROUTING -p udp --dport 8001:9999 -j REDIRECT --to-ports 443
iptables -t nat -L PREROUTING -v -n
# 保存并应用配置
sudo iptables -L -v -n
sudo netfilter-persistent save
service iptables restart9. 增加历史执行命令记录
小贴士
此配置将记录所有执行过的命令,方便后续查看和审计。
bash
sudo bash -c 'cat >> /etc/profile <<EOF
# 配置历史记录的时间格式
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
# 设置保存历史记录的文件路径
HISTORY_FILE="\$HOME/command_history.log"
# 自定义命令日志函数
log_command() {
local HISTFILE_PATH=\$HISTFILE
local HIST_ENTRY_NUMBER=\$1
local HIST_ENTRY="\$(history \$HIST_ENTRY_NUMBER | tail -n 1)"
local CURRENT_USER=\$(whoami)
local LOG_ENTRY="[USER: \$CURRENT_USER] \$HIST_ENTRY"
echo "\$LOG_ENTRY" >> \$HISTORY_FILE
}
# 在每个命令之后,将命令追加到自定义的日志文件中,同时同步到 HISTFILE
PROMPT_COMMAND="history -a; log_command 1"
ulimit -SHn 1000000
EOF'
# 应用配置
source /etc/profile10. 可选配置
10.1 禁用检测更新
警告
此配置适用于不需要自动更新的环境。
bash
sudo bash -c 'cat > /etc/apt/apt.conf.d/10periodic <<EOF
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
EOF'
sudo bash -c 'cat > /etc/apt/apt.conf.d/20auto-upgrades <<EOF
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";
EOF'10.2 登录提示文字优化
简单提示
此配置将优化登录时的提示信息显示。
bash
sudo sed -i 's/^#\?ENABLED=.*/ENABLED=0/g' /etc/default/motd-news;
touch /var/lib/ubuntu-advantage/hide-esm-in-motd
touch /var/lib/update-notifier/hide-esm-in-motd
rm -rf /var/lib/update-notifier/updates-available
chmod -x /etc/update-motd.d/90-updates-available
sudo rm /var/lib/ubuntu-release-upgrader/release-upgrade-available
sudo sed -i 's/^#\?Prompt.*/Prompt=never/g' /etc/update-manager/release-upgrades;10.3 安装 fail2ban,保护您的服务器
bash
apt update
apt install wget net-tools telnet -y
apt install fail2ban -y配置规则
bash
cat > /etc/fail2ban/jail.local <<EOF
# 默认规则
[DEFAULT]
# 白名单,不受规则限制,以下规则为每60秒错误2次,永久封禁,限制访问所有端口
ignoreip = 127.0.0.1/8 ::1 223.104.0.0/16
findtime = 60s
maxretry = 2
bantime = -1
action = iptables-allports
# sshd拦截规则,注意端口填写,默认为22
[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log
EOF重启服务
bash
systemctl restart fail2ban
systemctl enable fail2ban
systemctl status fail2ban常用命令
bash
# 查看fail2ban状态
fail2ban-client status
# 查看sshd jail状态
fail2ban-client status sshd
# 解封IP
fail2ban-client set sshd unbanip IP地址
# 查看被封禁的IP列表
fail2ban-client banned配置详解
主配置文件
Fail2Ban 的主配置文件是/etc/fail2ban/fail2ban.conf,建议创建副本/etc/fail2ban/fail2ban.local进行修改。
封禁配置
bantime: 封禁时间长度,单位可以是 m(分钟)、d(天)或 s(秒)findtime: 计算登录失败的时间窗口maxretry: 最大失败尝试次数ignoreip: 白名单 IP,多个 IP 用空格分隔action: 封禁时采取的动作action_: 默认动作,拒绝流量action_mw: 封禁并发送邮件通知action_mwl: 封禁并发送邮件通知,包含相关日志action_xarf: 封禁并发送 XARF 格式邮件
注意事项
- 如果 SSH 使用密钥登录并禁用密码登录,则不需要 Fail2Ban 保护
- 修改配置后需要重启 fail2ban 服务才能生效
- 建议将常用 IP 加入白名单,避免误封
- 封禁时间设置要合理,避免影响正常用户
常见问题
启动服务报错,提示/var/log/auth.log 文件不存在
bash
# 最小化系统,未启用日志服务,执行以下命令启用
sudo apt-get update
sudo apt-get install rsyslog
sudo systemctl start rsyslog
sudo systemctl enable rsyslog
sudo systemctl status rsyslog防火墙未启用,导致 fail2ban 未实际生效,以下启用防火墙参考
bash
systemctl restart iptables
systemctl enable iptables
systemctl status iptables