买好 VPS 后,先用 MobaXterm 登录一次。这篇从填写 IP、用户名和端口开始,再讲上传文件、查看日志和常用 Linux 命令;不需要预先装好其他命令行工具。
本站服务器登录教程统一使用 MobaXterm:它把 SSH 终端、SFTP 文件管理、隧道和密钥工具放在同一个界面中,对第一次管理 VPS 的用户比较友好。
第一次连接直接使用用户名和密码。密钥登录、关闭密码登录和修改 SSH 端口放到文章后半部分,等节点跑通后再处理,免得把自己锁在服务器外。

使用 MobaXterm 连接不同类型的服务器
连接参数取决于服务器是否拥有独立公网 IP。先查看服务商控制台里的公网 IP、SSH 端口和操作系统,再点击对应标签;不要凭价格或产品名称猜。
适用于: VMISS、DMIT、RFCHost,以及其他带独立公网 IP 的 KVM VPS。
1
找到开通信息: 记录公网 IP、用户名、SSH 端口和初始密码。
2
新建 SSH 会话: 在 MobaXterm 依次点击 Session 和 SSH,按上表填写。
3
完成首次登录: 接受核对无误的主机指纹,输入密码,看到 root@server:~# 即表示连接成功。
4
确认系统: 运行 cat /etc/os-release。本站手动搭建教程优先使用 Debian 12/13,Ubuntu 的登录方式相同。
普通 VPS 直接监听自己的公网端口,不需要在服务商控制台额外做 NAT 端口映射。
适用于: Shlii 的 Incus / LXC NAT 实例。它与其他实例共享一个公网 IPv4,必须通过服务商分配的外部端口进入容器。
1
分清两个 SSH 端口: 容器内 SSH 通常监听 22,公网连接填写的是映射到 22 的外部端口。
2
新建 SSH 会话: 在 MobaXterm 依次点击 Session 和 SSH,Remote host 填共享公网 IP,Port 填外部 SSH 端口。
3
使用密码登录: 接受核对无误的主机指纹,输入密码;不要把内部 22 填进 MobaXterm。
4
确认系统: 运行 cat /etc/os-release,通常会看到 Alpine Linux。
后续部署节点时,还要为节点程序单独创建端口映射。例如公网 30443 映射到容器内部 443,客户端最终填写共享公网 IP 和 30443。
如果控制台提供 Web Console、VNC 或救援控制台,先记住入口位置。SSH 配置错误时,可以从这里重新进入服务器。不要把密码、私钥或完整登录信息发给其他人。
使用 MobaXterm 建立第一个 SSH 会话
以下界面截图来自 MobaXterm 官网。软件更新后配色和图标可能略有变化,但 Session、SSH、Remote host 和左侧 SFTP 的位置与用途基本一致。
点击左上角 Session 后会打开会话类型窗口。第一次连接 Linux 服务器时,选择左上角的 SSH,不要选择旁边的 Telnet、RDP 或 SFTP 独立会话。

从 MobaXterm 官网下载安装版或便携版,启动后按以下步骤创建会话:
1
选择 SSH 会话: 点击左上角 Session,选择 SSH。
2
填写服务器地址: 在 Remote host 填写公网 IP 或接入域名。这里不要填写 https://。
3
填写登录用户: 勾选 Specify username,输入服务商给出的用户名,新手实例通常是 root。
4
核对 SSH 端口: 独立 VPS 通常填 22,NAT VPS 必须填控制台显示的外部端口。
5
使用密码登录: 点击 OK,粘贴或输入初始密码。第一次先不要勾选私钥选项,减少需要同时排查的变量。
输入密码时终端不会显示星号,光标也不会移动,这是 Linux 的正常安全行为。完整输入后按 Enter 即可。
成功看到类似 root@server:~# 的提示符后,说明 SSH 已经连通。初始密码过于简单时,可以运行 passwd,按提示输入两次新密码。修改完成前保持当前窗口打开。

中间黑色区域是执行 Linux 命令的终端;左侧保存会话并显示远程文件。不要照抄截图中的示例 IP、用户名或路径,应始终使用自己服务商提供的信息。
第一次连接为什么会询问指纹
首次连接时,SSH 会显示服务器主机密钥指纹并询问是否信任。主机指纹用于确认“现在连接的仍是同一台服务器”,不是报错。
条件允许时,在服务商控制台核对指纹;也可以通过 Web Console 登录服务器后查看:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
确认无误后再接受。以后如果在没有重装系统、更换实例或修改 SSH 主机密钥的情况下突然出现指纹变化,应先停止连接并排查,不要直接删除警告。
用左侧 SFTP 面板上传和下载文件
MobaXterm 登录成功后,左侧通常会自动打开当前服务器的 SFTP 文件浏览器。SFTP 复用当前 SSH 加密连接,Windows 不需要安装 scp、OpenSSH 或额外文件传输软件。

截图左侧是远程服务器目录,右侧仍是同一个 SSH 会话的终端。上传或下载时操作左侧文件列表,不要把 Windows 文件直接拖进右侧终端。
1
确认已经登录: 先打开对应的 MobaXterm SSH 会话;只有终端登录成功,左侧 SFTP 面板才能访问同一台服务器。
2
选择服务器目录: 在左侧地址栏进入目标目录。普通上传优先使用 /tmp 或当前用户主目录,避免直接覆盖系统配置。
3
从 Windows 上传: 把资源管理器中的文件拖进左侧面板,或点击面板的上传按钮选择文件;等待传输完成后再执行后续命令。
4
从服务器下载: 在左侧面板选中文件并点击下载,选择 Windows 保存位置;备份配置时使用这种方式即可。
5
在终端核对: 运行 ls -lah /tmp/文件名,确认文件名和大小正确,再用 install 或 mv 放到最终目录。
本站后续凡是“电脑与 VPS 之间传文件”,都默认使用 MobaXterm 左侧 SFTP 面板。服务器在线下载软件仍使用文章给出的 curl 或软件包管理命令,这两类操作不要混淆。
先看懂终端提示符和命令结果
常见提示符类似下面两种:
root@server:~#
user@server:~$
# 通常表示当前是 root,命令拥有最高权限。
$ 通常表示普通用户,需要时在命令前加 sudo。
~ 表示当前用户的主目录,root 的主目录通常是 /root。
- Linux 区分大小写,
Config.json 和 config.json 是两个文件。
一条命令没有输出不一定是失败。执行后先看是否回到提示符,再用下面的命令检查退出状态:
echo $?
0 通常表示成功,非零值表示命令遇到错误。长时间运行的前台命令可以按 Ctrl+C 中止;按 Ctrl+D 或输入 exit 会结束当前 SSH 会话,但不会关闭服务器。
认识 Linux 的目录结构
Linux 从根目录 / 开始组织文件。搭建节点最常接触的是配置、日志、用户目录和可执行文件。

不要把 / 和 /root 混淆:前者是整个文件系统的起点,后者只是 root 用户的主目录。
文件和目录的基本操作
下面这些命令足以完成大多数安装教程。先在自己的练习目录中操作:
完成一次安全练习:
mkdir -p ~/uufly-practice
cd ~/uufly-practice
printf 'hello linux\n' > hello.txt
cat hello.txt
cp -a hello.txt hello.txt.bak
mv hello.txt.bak backup.txt
ls -lah
rm hello.txt backup.txt
cd ~
rmdir ~/uufly-practice
rm 默认没有回收站。不要复制自己不理解的通配符或 rm -rf 命令;修改重要配置前先使用 cp -a 创建备份。
重定向和管道是什么意思
安装教程经常使用这些符号:
>:覆盖写入文件。
>>:追加到文件末尾。
|:把左侧命令的输出交给右侧命令。
&&:前一条命令成功后才执行下一条。
例如只查看监听端口中包含 443 的行:
ss -lntup | grep ':443'
写入配置前要特别留意 >,目标文件原有内容会被替换。
用 cat 一次写入完整文件
教程给出完整配置时,优先使用 cat 和 here-document 一次写入,避免在终端编辑器中漏行、少括号或保存失败:
cat > ~/uufly-example.conf <<'EOF'
server=example.com
port=443
enabled=true
EOF
上面的命令会把 EOF 之间的三行原样写入文件。结尾的 EOF 必须单独占一行,前后不要添加空格。写完立即检查:
cat ~/uufly-example.conf
rm ~/uufly-example.conf
后续文章中的完整配置都按这种 cat > 文件 <<'EOF' 格式给出,整段复制即可。
确认操作系统
运行下面两条命令,记下系统名称、版本和 CPU 架构:
cat /etc/os-release
uname -m
普通 VPS 建议选择 Debian 12/13,也可以使用 Ubuntu;两者通常用 apt 安装软件、用 systemctl 管理服务。Shlii NAT 实例通常是 Alpine,使用 apk 和 OpenRC,后续应走 Shlii 专用脚本,不要照抄 Debian 命令。
目录、文件、权限和 MobaXterm SFTP 的用法基本相同,所以本文后面的通用 Linux 操作仍可练习;标有“Debian / Ubuntu”的章节则只供普通 VPS 使用。
权限:读懂 600、700 和 755
ls -l 输出开头的字符表示文件类型和权限。后面的数字写法在服务配置中更常见:
常用写法:
chmod 600 /etc/sing-box/config.json
chmod 700 /root/private-scripts
chown root:root /etc/sing-box/config.json
不要用 chmod 777 解决权限报错。它会让所有本机用户都获得写权限,通常只是掩盖文件所有者或运行用户配置错误。
节点故障的四步检查顺序

上一步不正常时,先解决当前问题,再继续下一步。日志命令因系统和服务管理方式不同,Debian / Ubuntu 的具体用法放在下一节;下面这些通用命令可以先确认进程、资源、地址、路由和监听端口:
ps aux
top
free -h
df -h
ip -br address
ip route
ss -lntup
curl -4 https://icanhazip.com
free -h 查看内存,df -h 查看磁盘空间。
ip -br address 查看网卡和地址,ip route 查看默认路由。
ss -lntup 查看 TCP、UDP 监听端口及对应进程。
curl -4 返回当前服务器对外使用的 IPv4。
NAT VPS 中看到的内网地址与外部共享 IPv4 不同是正常现象。公网能否访问,取决于服务是否监听正确的内部端口,以及控制台端口映射是否一致。
Debian / Ubuntu 的服务管理和日志排错
普通 VPS 的 Debian 和 Ubuntu 通常由 systemd 管理服务:
systemctl status ssh --no-pager
systemctl restart ssh
systemctl enable --now sing-box
journalctl -u sing-box -n 100 --no-pager
journalctl -u sing-box -f
journalctl -f 会持续显示新日志,按 Ctrl+C 退出查看,不会停止服务。执行重启前先确认服务名称和配置文件已经通过语法检查。
Debian / Ubuntu 可选加固:密钥登录与修改 SSH 端口
下面内容不是搭建节点的前置条件。先使用密码完成整个新手流程;确认自己能进入服务商 Web Console 后,再逐项加固。
公钥和私钥分别是什么
- 私钥保存在自己的电脑中,相当于不能交给任何人的登录钥匙。
- 公钥写入服务器的
~/.ssh/authorized_keys,可以公开,不具备单独登录能力。
服务器会验证本地私钥是否与公钥配对,因此密钥登录不需要在网络中传输账户密码。
密码登录成功后,继续使用 MobaXterm 完成密钥配置:
1
打开密钥工具: 在 MobaXterm 顶部依次选择 Tools 和 MobaKeyGen,进入内置密钥生成器。
2
生成 Ed25519 密钥: 选择 EdDSA / Ed25519,点击 Generate 并按提示在空白区域移动鼠标,为密钥提供随机性。
3
保存私钥: 设置私钥口令,点击 Save private key 保存到自己的电脑;私钥不要发送给他人,也不要上传到服务器。
4
写入服务器公钥: 复制 MobaKeyGen 顶部显示的完整 ssh-ed25519 ... 公钥,在当前密码会话中把下面占位行替换为真实公钥后执行:
install -d -m 700 ~/.ssh
cat >> ~/.ssh/authorized_keys <<'EOF'
粘贴 MobaKeyGen 显示的完整公钥
EOF
chmod 600 ~/.ssh/authorized_keys
1
创建密钥会话: 在 MobaXterm 新建相同服务器会话,进入 Advanced SSH settings,勾选 Use private key 并选择刚保存的私钥。
2
验证后再加固: 用新会话确认能够登录。原密码会话和服务商控制台必须保留到验证成功,不要刚写入公钥就关闭密码登录。
可选:修改 SSH 端口
修改端口主要用于减少互联网扫描产生的无效登录日志,并不能替代强密码或密钥。普通 Debian VPS 可以用 cat 写入单独配置:
mkdir -p /etc/ssh/sshd_config.d
cat > /etc/ssh/sshd_config.d/99-uufly-port.conf <<'EOF'
Port 22222
EOF
sshd -t
systemctl restart ssh
sshd -t 没有输出才表示语法通过。重启前先在服务商云防火墙中允许 TCP 22222;重启后不要关闭旧窗口,用 MobaXterm 新建第二个会话测试新端口。
NAT VPS 通常无需修改服务器内部的 22 端口,只要在控制台把外部 SSH 映射端口改成新的高位端口,然后用新外部端口连接。
可选:密钥确认可用后关闭密码登录
只有在第二个 MobaXterm 会话已经能用私钥登录后,才执行:
cat > /etc/ssh/sshd_config.d/99-uufly-auth.conf <<'EOF'
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password
EOF
sshd -t
systemctl restart ssh
再打开第三个会话验证。若失败,立即在仍连接的旧窗口中删除加固文件并恢复:
rm /etc/ssh/sshd_config.d/99-uufly-auth.conf
systemctl restart ssh
不要同时修改端口、关闭密码和调整云防火墙。一次只改变一个变量,每次都用新会话验证,出错时才知道应恢复哪一步。
常见连接错误怎么判断
修改 SSH 端口、防火墙或登录方式时,始终保留当前已登录会话,再打开第二个窗口验证新配置。这样即使新配置不可用,也能在旧会话中恢复。
开始下一篇前的检查清单
- 能区分服务器地址、SSH 端口、用户名和密码或私钥。
- 能先用密码通过 MobaXterm 登录,并通过 SFTP 上传、下载一个测试文件。
- 能使用
cd、ls、cat、cp、mv、nano 和 rm。
- 能使用
cat > 文件 <<'EOF' 一次写入完整配置。
- 能确认自己使用 Debian、Ubuntu 还是 Alpine,知道三者的软件包和服务命令不能混用。
- 能查看系统版本、IP、磁盘、内存、监听端口和服务日志。
- 知道密钥登录和修改 SSH 端口属于可选加固,并且一次只修改一个设置。
完成以上检查后,继续阅读搭建第一个节点:sing-box Reality + VLESS Vision,并在文章顶部选择与你服务器一致的标签页。