购买了 VPS 却不知道如何管理?面对黑乎乎的命令行窗口感到无从下手?别担心,本指南将带您从零开始,全面掌握 SSH 远程连接技术、文件传输方法、会话管理技巧和 Linux 核心命令,让您像操作本地电脑一样轻松管理服务器。
🔑 什么是 SSH?
SSH (Secure Shell) 是一种加密的网络传输协议,用于在不安全的网络中为网络服务提供安全的传输环境。对于 VPS 用户来说,SSH 就是您远程控制服务器的"安全通道"。
加密传输
所有数据(包括密码和命令)都经过加密,防止被中间人窃听。
命令行控制
通过输入文本命令来操作服务器,资源占用极低,效率极高。
跨平台支持
Windows、macOS、Linux、移动设备均可使用,随时随地管理服务器。
高效稳定
即使在低带宽环境下也能流畅操作,断线自动重连。
🛠️ 选择 SSH 客户端
根据您的操作系统,选择一款趁手的兵器:
Termius / Xshell
- ✅ Termius: 颜值高,全平台同步 (推荐)
- ✅ Xshell: 功能强大,个人版免费
- ✅ PuTTY: 经典老牌,轻量开源
- ✅ MobaXterm: 集成工具箱,适合专业用户
Terminal / iTerm2
- ✅ 系统终端: 开箱即用,无需安装
- ✅ Termius: 跨设备同步配置
- ✅ iTerm2: 极客首选,功能无限
- ✅ Warp: AI 驱动的现代终端
Cmd + Space 搜 Terminal 手机端
- ✅ iOS: Termius, ServerCat
- ✅ Android: JuiceSSH, Termius
- ✅ 随时随地管理服务器
- ✅ 支持指纹/面容解锁
🔌 如何连接 VPS?
前提准备
- 1 IP 地址:例如
192.168.1.1(在 VPS 后台查看) - 2 端口号:默认是
22(部分商家会修改,请查看邮件) - 3 用户名:通常是
root - 4 密码:购买时设置的密码或邮件收到的初始密码
连接步骤 (以 Mac/Linux 终端为例)
1. 打开终端 (Terminal),输入以下命令:
ssh root@192.168.1.1 2. 首次连接会出现指纹确认提示,输入 yes 并回车:
The authenticity of host '192.168.1.1' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 3. 输入密码(注意:输入时屏幕不会显示任何字符,这是正常的安全机制),输完回车:
root@192.168.1.1's password: (此处输入密码无显示) 4. 看到 root@hostname:~# 提示符,恭喜您,连接成功!🎉
Windows 用户连接步骤
使用 Termius (推荐)
- 打开 Termius,点击 "NEW HOST"
- 填写信息:
- Address: 您的 IP 地址
- Port: 22 (或您的自定义端口)
- Username: root
- Password: 您的密码
- 点击 "Save" 保存配置
- 双击刚创建的连接,即可登录
🖥️ 会话管理技巧
SSH 会话断开后,正在运行的程序会终止。使用 tmux 或 screen 可以保持会话持久化。
📺 tmux 快速入门
tmux 启动新会话
Ctrl+B → D 分离会话(程序继续后台运行)
tmux attach 重新连接到会话
tmux ls 列出所有会话
🎬 screen 快速入门
screen -S mywork 创建命名会话
Ctrl+A → D 分离会话
screen -r mywork 恢复指定会话
screen -ls 查看所有会话
💡 使用场景
- 运行需要长时间执行的脚本(如数据备份、系统更新)
- 保持多个工作环境(开发、监控、日志查看)
- 在不稳定网络环境下工作(防止断连导致任务中断)
- 团队协作共享同一终端会话
📁 如何传输文件 (SFTP)?
光有命令行是不够的,很多时候我们需要把本地文件上传到服务器,或者把服务器文件下载下来。这就需要用到 SFTP (SSH File Transfer Protocol)。
🚀 推荐工具:Termius 或 FileZilla
如果您使用的是 Termius,它自带了非常好用的 SFTP 面板。如果您使用其他终端,推荐下载免费开源的 FileZilla。
Termius 操作方法
- 连接到服务器。
- 点击左侧的 "SFTP" 图标。
- 左边是本地文件,右边是服务器文件。
- 直接拖拽即可上传或下载。
FileZilla 操作方法
- 主机:输入 IP 地址。
- 用户名:
root,密码:您的密码。 - 端口:
22。 - 点击 "快速连接",随后即可拖拽传输。
命令行 SFTP 操作
对于喜欢命令行的用户,可以直接使用 sftp 或 scp 命令:
使用 SCP 传输单个文件
# 上传本地文件到服务器
scp /path/to/local/file.txt root@192.168.1.1:/root/
# 下载服务器文件到本地
scp root@192.168.1.1:/root/file.txt /path/to/local/ 使用 SCP 传输整个文件夹
# 上传文件夹(-r 递归)
scp -r /path/to/local/folder root@192.168.1.1:/root/
# 下载文件夹
scp -r root@192.168.1.1:/root/folder /path/to/local/ 使用 rsync 同步文件(更高效)
# 同步本地文件夹到服务器(只传输差异部分)
rsync -avz /path/to/local/ root@192.168.1.1:/root/backup/
# -a: 归档模式 -v: 详细输出 -z: 压缩传输 📑 常用 Linux 命令速查
连接后怎么操作?这里列出了新手最常用的 50+ 命令,按类别分组。
| apt update | 更新软件源列表 (Debian/Ubuntu) |
| apt upgrade | 升级所有已安装软件 |
| apt install pkg | 安装软件包 |
| apt remove pkg | 卸载软件包 |
| reboot | 重启服务器 |
| shutdown -h now | 立即关机 |
| htop | 查看 CPU/内存 占用情况 |
| uname -a | 查看系统信息 |
| ls -la | 列出所有文件(含隐藏文件) |
| cd /path | 进入指定目录 |
| pwd | 显示当前目录 |
| mkdir folder | 创建文件夹 |
| touch file.txt | 创建空文件 |
| cp file1 file2 | 复制文件 |
| mv file1 file2 | 移动/重命名文件 |
| rm -rf folder | 强制删除文件夹 (慎用!) |
| curl ip.sb | 查看服务器公网 IP |
| ping google.com | 测试网络连通性 |
| wget url | 下载文件 |
| curl -O url | 下载文件(保留原名) |
| netstat -tulpn | 查看端口占用情况 |
| ss -tulpn | 查看监听端口(更快) |
| traceroute ip | 追踪网络路由 |
| cat file.txt | 查看文件内容 |
| less file.txt | 分页查看文件 |
| head -n 20 file | 查看前 20 行 |
| tail -n 20 file | 查看后 20 行 |
| tail -f log.txt | 实时查看日志 |
| grep "text" file | 搜索文件内容 |
| find / -name file | 查找文件位置 |
| chmod 755 file | 修改文件权限 |
| chown user file | 更改文件所有者 |
| chown -R user dir | 递归更改目录所有者 |
| chmod +x script.sh | 添加执行权限 |
| df -h | 查看磁盘使用情况 |
| du -sh folder | 查看文件夹大小 |
| du -h --max-depth=1 | 查看当前目录各子目录大小 |
| ncdu | 交互式磁盘分析 |
| tar -czvf a.tar.gz dir | 压缩文件夹 |
| tar -xzvf a.tar.gz | 解压缩 |
| zip -r a.zip dir | 创建 ZIP 压缩包 |
| unzip a.zip | 解压 ZIP |
| docker ps | 查看运行中的容器 |
| systemctl status svc | 查看服务状态 |
| history | 查看历史命令 |
| alias ll='ls -la' | 创建命令别名 |
✏️ 文本编辑器使用
在服务器上修改配置文件是家常便饭,掌握一款文本编辑器必不可少。
📝 nano (新手友好)
最简单的编辑器,界面直观,有底部快捷键提示。
nano file.txt 打开文件
Ctrl + O 保存文件
Ctrl + X 退出编辑器
Ctrl + W 搜索文本
⚡ vim (进阶推荐)
功能强大但学习曲线陡峭,熟练后效率极高。
vim file.txt 打开文件
i 进入插入模式(开始编辑)
ESC :wq 保存并退出
ESC :q! 不保存强制退出
💡 新手建议
刚开始建议使用 nano,界面友好,快捷键都显示在底部。等熟悉 Linux 后再学习 vim,它的效率会让您爱不释手。
⚙️ 进程与服务管理
了解如何查看和管理运行中的程序,是服务器管理的重要技能。
| ps aux | 查看所有进程 |
| top | 实时监控进程 |
| htop | 更美观的进程监控 |
| kill -9 PID | 强制结束进程 |
| pkill name | 按名称结束进程 |
| systemctl start svc | 启动服务 |
| systemctl stop svc | 停止服务 |
| systemctl restart svc | 重启服务 |
| systemctl enable svc | 设置开机自启 |
| systemctl status svc | 查看服务状态 |
🔐 进阶:使用密钥登录
密码登录容易被暴力破解,使用 SSH 密钥对登录不仅更安全,而且可以免密登录,体验极佳。
配置步骤
生成密钥对 (本地电脑)
在本地终端执行:
ssh-keygen -t ed25519 -C "your_email@example.com"
一路回车即可。这会生成私钥 id_ed25519 和公钥 id_ed25519.pub。
上传公钥到服务器
使用简单命令一键上传:
ssh-copy-id root@your-server-ip
输入一次密码后,公钥就会自动写入服务器。
测试免密登录
再次连接,应该直接进入系统:
ssh root@your-server-ip
🔒 安全提示
- 私钥安全:私钥文件(id_ed25519)相当于万能钥匙,务必妥善保管,不要泄露
- 设置密码保护:生成密钥时可以为私钥设置密码,增加一层保护
- 备份密钥:建议将私钥备份到安全位置,防止丢失
⚙️ SSH 配置文件优化
通过配置文件,您可以为不同服务器设置别名,大幅提升连接效率。
创建配置文件
编辑本地的 SSH 配置文件(如果不存在会自动创建):
nano ~/.ssh/config 添加服务器配置
Host myserver
HostName 192.168.1.1
Port 22
User root
IdentityFile ~/.ssh/id_ed25519
Host vps2
HostName 203.0.113.45
Port 2222
User admin
IdentityFile ~/.ssh/id_rsa 🎯 使用别名连接
配置完成后,连接变得超级简单:
ssh myserver 无需记忆复杂的 IP 地址和端口,一个简短的别名搞定!
🔀 端口转发与隧道
SSH 不仅能远程登录,还能建立安全隧道,实现端口转发和代理功能。
➡️ 本地端口转发
将服务器端口映射到本地,访问服务器内网服务。
ssh -L 8080:localhost:80 root@server-ip 访问本地 localhost:8080 等同于访问服务器的 80 端口
⬅️ 远程端口转发
将本地端口映射到服务器,外网访问内网服务。
ssh -R 9000:localhost:3000 root@server-ip 外网访问服务器 9000 端口即可访问本地 3000 端口
🌐 动态端口转发 (SOCKS 代理)
创建一个 SOCKS5 代理,浏览器流量通过服务器。
ssh -D 1080 root@server-ip 配置浏览器使用 localhost:1080 作为 SOCKS5 代理
🔁 保持隧道运行
使用 -N 参数只建立隧道不登录,-f 后台运行。
ssh -fNL 8080:localhost:80 root@server-ip 隧道在后台运行,不占用终端窗口
🛡️ SSH 安全加固
新服务器拿到手,建议立即做以下安全加固,防止被黑客扫爆。
Step 1
修改默认端口
默认 22 端口每天会被扫描几万次。改为 20000-65535 之间的高位端口。
nano /etc/ssh/sshd_config 找到 #Port 22,改为 Port 23456
Step 2
禁用密码登录
配置好密钥后,彻底关闭密码验证,让暴力破解失效。
PasswordAuthentication no PubkeyAuthentication yes Step 3
禁用 Root 登录
创建一个普通用户进行日常操作,仅在需要时使用 sudo 提权。
PermitRootLogin no 记得先创建普通用户!
其他安全建议
安装 Fail2Ban
自动封禁暴力破解 IP
限制登录尝试次数
MaxAuthTries 3
禁用空密码
PermitEmptyPasswords no
限制允许登录的用户
AllowUsers admin deploy
⚠️ 重要提醒
修改 SSH 配置后,务必执行 systemctl restart sshd 重启服务才能生效。在关闭当前 SSH 连接前,请先开一个新窗口测试能否正常登录,确保不会把自己锁在门外!
⚡ 连接性能优化
SSH 连接速度慢?经常断线?这些优化技巧能显著改善体验。
🚀 启用连接复用
多个 SSH 连接共享一个 TCP 连接,显著提升连接速度。在本地 ~/.ssh/config 添加:
Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h:%p
ControlPersist 10m 首次连接后,10 分钟内的新连接几乎是瞬间完成!
📡 压缩传输数据
在带宽有限的情况下启用压缩:
Host *
Compression yes 🔄 保持连接活跃
防止长时间无操作被服务器或防火墙断开:
Host *
ServerAliveInterval 60
ServerAliveCountMax 3 每 60 秒发送一次心跳包,3 次无响应才断开连接
⚙️ 选择更快的加密算法
使用现代化的加密算法可以提升性能:
Host *
Ciphers chacha20-poly1305@openssh.com,aes128-gcm@openssh.com
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com 🔧 故障排查指南
遇到连接问题?这里是最常见问题的解决方案。
🔴 连接超时 (Connection timed out)
检查 IP 地址是否正确,端口号是否正确(默认 22)
确认 VPS 已开机运行(登录商家后台查看)
检查本地网络是否正常,尝试 ping IP 测试连通性
检查服务器防火墙是否放行了 SSH 端口
如果 IP 被墙,尝试使用 VPN 或更换线路
🔴 Permission denied (publickey)
原因:服务器要求密钥登录,但您的私钥不匹配或未被加载。
解决方法:
- 确认私钥权限:
chmod 600 ~/.ssh/id_ed25519 - 显式指定私钥:
ssh -i ~/.ssh/id_ed25519 root@ip - 检查公钥是否在服务器:
cat ~/.ssh/authorized_keys - 如彻底无法登录,使用 VPS 商家后台的 VNC 控制台重置配置
🔴 Connection refused
原因:目标端口未开放或 SSH 服务未运行。
排查步骤:
- 检查 SSH 服务状态:
systemctl status sshd - 启动 SSH 服务:
systemctl start sshd - 查看端口监听:
ss -tlnp | grep :22 - 检查防火墙规则是否允许端口访问
🔴 SSH 连接很慢,需要等待 10-30 秒
原因:通常是 DNS 反向解析或 GSSAPI 认证导致。
解决方法(服务器端配置):
编辑 /etc/ssh/sshd_config,添加或修改:
UseDNS no
GSSAPIAuthentication no 然后重启 SSH:systemctl restart sshd
🔴 经常自动断线
解决方案:配置保活机制(参考"连接性能优化"章节)
客户端配置(~/.ssh/config):
ServerAliveInterval 60
ServerAliveCountMax 3 或使用 tmux/screen 保持会话
🔴 粘贴内容到终端失败或格式错乱
不同系统的粘贴方法:
- Windows (PuTTY/CMD): 直接点击鼠标右键
- macOS Terminal: Cmd + V
- Linux Terminal: Ctrl + Shift + V 或鼠标中键
- Termius: Ctrl + V (Windows) 或 Cmd + V (Mac)
提示:粘贴长脚本前建议先保存到文件,然后使用 nano 编辑器打开编辑
❓ 常见问题解答
SSH 和 VNC 有什么区别?
SSH 是命令行界面,通过文本命令操作,占用资源极少,适合日常管理。VNC 是图形界面,可以看到完整的桌面环境,但占用带宽大,一般用于紧急情况或需要图形界面的场景。对于服务器管理,99% 的情况下使用 SSH 即可。
什么是 Root 用户?可以删除吗?
Root 是 Linux 系统的超级管理员账户,拥有最高权限。绝对不能删除!但出于安全考虑,建议创建普通用户进行日常操作,只在需要管理权限时使用 sudo 提权。这样即使普通账户被盗,黑客也无法直接获取完整系统控制权。
如何查看服务器的系统版本和配置?
使用以下命令可以查看各种系统信息:
uname -a- 系统内核信息cat /etc/os-release- 发行版详细信息lscpu- CPU 信息free -h- 内存使用情况df -h- 磁盘使用情况ip a- 网络接口信息
误删重要文件怎么办?
Linux 下删除文件是不可逆的,没有"回收站"。如果删除了重要文件:1) 立即停止所有写入操作;2) 如果有自动备份,从备份恢复;3) 考虑使用专业数据恢复工具如 extundelete;4) 如果是系统配置文件,可能需要重装系统。预防为主:重要操作前务必备份,使用 rm 命令时千万小心,养成使用 rm -i 确认删除的习惯。
服务器被黑了怎么办?
紧急应对步骤:
- 立即断网隔离服务器(在商家后台操作)
- 备份所有重要数据
- 查看异常进程:
ps aux和netstat -tulpn - 检查是否有新增用户:
cat /etc/passwd - 查看最近登录记录:
last和lastb - 扫描恶意文件和后门
根治方案:如果确认被入侵,最安全的做法是重装系统,然后按照本教程的安全加固章节重新配置。记得吸取教训,做好日常备份。
🚀 下一步行动
掌握了 SSH 只是第一步,接下来您可以开始配置和优化您的服务器了:
Linux 系统优化指南
学习如何优化内核参数、开启 BBR 加速、配置 Swap,提升服务器性能和稳定性。
防火墙配置教程
配置 iptables 和 ufw 防火墙,开放必要端口,构建安全防护体系。
VPS 推荐榜单
查看经过实测验证的优质 VPS 商家推荐,找到最适合您的方案。
浏览更多教程
探索服务器安全、网站搭建、性能优化、Docker 容器等进阶主题。