首页 / 使用指南 / SSH 连接与 Linux 基础操作完全指南 - 2026 初级-中级详解与实战教程 | 入门指南 | VPS推荐
📚 技术教程 ID: ssh-basics

SSH 连接与 Linux 基础操作完全指南 - 2026 初级-中级详解与实战教程 | 入门指南 | VPS推荐

从入门到精通:全面掌握 SSH 远程管理技术,涵盖客户端选择、文件传输、会话管理、性能优化、故障排查等核心技能,精选 50+ 实用 Linux 命令。

作者:VPS推荐技术评测组
核验时间:2026-09-30
预计阅读:5-8 分钟
已通过真实命令复核

购买了 VPS 却不知道如何管理?面对黑乎乎的命令行窗口感到无从下手?别担心,本指南将带您从零开始,全面掌握 SSH 远程连接技术、文件传输方法、会话管理技巧和 Linux 核心命令,让您像操作本地电脑一样轻松管理服务器。

🔑 什么是 SSH?

SSH (Secure Shell) 是一种加密的网络传输协议,用于在不安全的网络中为网络服务提供安全的传输环境。对于 VPS 用户来说,SSH 就是您远程控制服务器的”安全通道”。

 🔒  

加密传输

所有数据(包括密码和命令)都经过加密,防止被中间人窃听。 💻

命令行控制

通过输入文本命令来操作服务器,资源占用极低,效率极高。 🌐

跨平台支持

Windows、macOS、Linux、移动设备均可使用,随时随地管理服务器。 ⚡

高效稳定

即使在低带宽环境下也能流畅操作,断线自动重连。

🛠️ 选择 SSH 客户端

根据您的操作系统,选择一款趁手的兵器: Windows

Termius / Xshell

  • ✅ Termius: 颜值高,全平台同步(推荐)
  • ✅ Xshell: 功能强大,个人版免费
  • ✅ PuTTY: 经典老牌,轻量开源
  • ✅ MobaXterm: 集成工具箱,适合专业用户

下载 Termius macOS

Terminal / iTerm2

  • ✅ 系统终端: 开箱即用,无需安装
  • ✅ Termius: 跨设备同步配置
  • ✅ iTerm2: 极客首选,功能无限
  • ✅ Warp: AI 驱动的现代终端

Cmd + Space 搜 Terminal Mobile

手机端

  • ✅ iOS: Termius, ServerCat
  • ✅ Android: JuiceSSH, Termius
  • ✅ 随时随地管理服务器
  • ✅ 支持指纹/面容解锁

应用商店搜索下载

🔌 如何连接 VPS?

前提准备

  • 1 **IP 地址:**例如 192.168.1.1(在 VPS 后台查看)
  • 2 **端口号:**默认是 22(部分商家会修改,请查看邮件)
  • 3 **用户名:**通常是 root
  • 4 **密码:**购买时设置的密码或邮件收到的初始密码

连接步骤(以 Mac/Linux 终端为例)

  1. 打开终端(Terminal),输入以下命令:
ssh [email protected]
  1. 首次连接会出现指纹确认提示,输入 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
  1. 输入密码(注意:输入时屏幕不会显示任何字符,这是正常的安全机制),输完回车:
[email protected]'s password: (此处输入密码无显示)
  1. 看到 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 [email protected]:/root/

# 下载服务器文件到本地
scp [email protected]:/root/file.txt /path/to/local/
使用 SCP 传输整个文件夹
# 上传文件夹(-r 递归)
scp -r /path/to/local/folder [email protected]:/root/

# 下载文件夹
scp -r [email protected]:/root/folder /path/to/local/
使用 rsync 同步文件(更高效)
# 同步本地文件夹到服务器(只传输差异部分)
rsync -avz /path/to/local/ [email protected]:/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按名称结束进程 服务管理(systemd) systemctl start svc启动服务 systemctl stop svc停止服务 systemctl restart svc重启服务 systemctl enable svc设置开机自启 systemctl status svc查看服务状态

🔐 进阶:使用密钥登录

密码登录容易被暴力破解,使用 SSH 密钥对登录不仅更安全,而且可以免密登录,体验极佳。

配置步骤

1

生成密钥对(本地电脑)

在本地终端执行(推荐使用更安全的 Ed25519 算法):

ssh-keygen -t ed25519 -C "[email protected]"

一路回车即可。这会生成私钥 id_ed25519 和公钥 id_ed25519.pub。 2

上传公钥到服务器

使用简单命令一键上传:

ssh-copy-id root@your-server-ip

输入一次密码后,公钥就会自动写入服务器。 3

测试免密登录

再次连接,应该直接进入系统:

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_ed25519

🎯 使用别名连接

配置完成后,连接变得超级简单:

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

先验证密钥与普通用户

先为普通管理用户安装公钥,并在另一个终端确认无需密码即可登录。 ssh-copy-id admin@server-ip 保留当前会话,确认 sudo 权限和密钥登录都正常后再继续。

Step 2

再收紧认证方式

仅在密钥已验证且有控制台恢复入口时关闭密码认证。 PasswordAuthentication no PubkeyAuthentication yes

Step 3

最后限制 Root 与入口

普通用户验证成功后禁用 Root 远程登录,并按实际管理来源限制防火墙。 PermitRootLogin no 换端口是可选降噪措施;变更前先放行新端口,并确认系统是否使用 socket activation。

其他安全建议

✅

安装 Fail2Ban

自动封禁暴力破解 IP ✅

限制登录尝试次数

MaxAuthTries 3 ✅

禁用空密码

PermitEmptyPasswords no ✅

限制允许登录的用户

AllowUsers admin deploy

⚠️ 重要提醒

修改配置后先执行 sudo sshd -t;只有校验通过才运行 sudo systemctl reload ssh,若发行版不支持平滑重载,再按其服务单元使用 restart。始终保留当前会话,并在新窗口验证密钥、端口和 sudo 后再退出。

⚡ 连接性能优化

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 次无响应才断开连接

⚙️ 优先沿用 OpenSSH 安全默认值

现代 OpenSSH 会随安全更新调整算法默认值。除非有合规或兼容性依据,不要复制固定的 Ciphers/MACs 清单,以免未来遗漏新默认值或锁死旧客户端。

# 查看客户端当前支持的算法;仅用于排查,不代表应全部启用
ssh -Q cipher
ssh -Q mac

🔧 故障排查指南

遇到连接问题?这里是最常见问题的解决方案。 🔴 连接超时(Connection timed out) 1. 检查 IP 地址是否正确,端口号是否正确(默认 22) 2. 确认 VPS 已开机运行(登录商家后台查看) 3. 检查本地网络是否正常,尝试 ping IP 测试连通性 4. 检查服务器防火墙是否放行了 SSH 端口 5. 如果 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

先运行 sudo sshd -t;校验通过后执行 sudo systemctl reload ssh,并在新终端验证连接。 🔴 经常自动断线
**解决方案:**配置保活机制(参考”连接性能优化”章节)

客户端配置(~/.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 即可。VNC 最大的价值在于:当 SSH 无法连接(如误封防火墙、sshd 服务崩溃)时,VNC 是唯一能不借助网络重置服务器的”救命绳”。

什么是 Root 用户?可以删除吗?   

Root 是 Linux 系统的超级管理员账户,拥有最高权限。**绝对不能删除!**但出于安全考虑,建议创建普通用户进行日常操作,只在需要管理权限时使用 sudo 提权。这样即使普通账户被盗,黑客也无法直接获取完整系统控制权。创建普通用户:adduser deploy && usermod -aG sudo deploy 如何查看服务器的系统版本和配置?
使用以下命令可以查看各种系统信息:

  • uname -a — 系统内核信息

  • cat /etc/os-release — 发行版详细信息

  • lscpu — CPU 信息

  • free -h — 内存使用情况

  • df -h — 磁盘使用情况

  • ip a — 网络接口信息

    误删重要文件怎么办?

Linux 下删除文件是不可逆的,没有”回收站”。如果删除了重要文件:① 立即停止所有写入操作;② 如果有自动备份(快照/Rclone),从备份恢复;③ 考虑使用专业数据恢复工具如 extundelete;④ 如果是系统配置文件,可能需要重装系统。**预防为主:**重要操作前务必备份,使用 rm 命令时千万小心,养成使用 rm -i 交互式确认删除的习惯,或用 trash-cli 替代 rm 实现软删除。

服务器被黑了怎么办?    

紧急应对步骤:

  • 立即断网隔离服务器(在商家后台操作)
  • 备份所有重要数据
  • 查看异常进程:ps aux 和 netstat -tulpn
  • 检查是否有新增用户:cat /etc/passwd
  • 查看最近登录记录:last 和 lastb
  • 扫描恶意文件和后门

根治方案:如果确认被入侵,最安全的做法是重装系统,然后按照本教程的安全加固章节重新配置。记得吸取教训,做好日常备份。 如何用 VS Code 直接远程编辑服务器上的文件?

使用 VS Code 的 Remote - SSH 插件(微软官方出品,扩展商店搜索 ms-vscode-remote.remote-ssh)。安装后,点击左下角蓝色图标 → “Connect to Host” → 输入 root@your-server-ip,即可像打开本地项目一样在 VS Code 中编辑服务器文件,支持语法高亮、Git、终端、调试全套功能。建议先在 ~/.ssh/config 中配置好别名,这样连接会更便捷。这是目前最主流、最高效的服务器代码编辑方式,强烈推荐。

为什么推荐 Ed25519 密钥而不是传统 RSA?有什么区别?   

Ed25519 是基于椭圆曲线的现代签名算法,与 RSA-4096 相比:① 密钥更短(68 个字符 vs 数千字符),复制粘贴更方便;② 速度更快,握手和签名耗时更低;③ 安全性更强,即使量子计算机时代来临也有更好的抗性;④ 兼容性好,所有现代 OpenSSH 版本(6.5+,2014 年以后的系统)均支持。唯一需要注意的是极少数老旧系统(如 CentOS 6、Ubuntu 12.04 等已停止维护的版本)不支持 Ed25519,此类情况才需退而求其次使用 RSA-4096。新机器一律推荐 Ed25519。

在 Windows 上用 WSL2 连接 VPS 有什么优势?   

**WSL2(Windows Subsystem for Linux 2)**是微软提供的完整 Linux 内核环境,在 Windows 11 上开箱即用。使用 WSL2 连接 VPS 的好处:① 可以直接使用原生 Linux 命令行工具(ssh、rsync、scp);② ~/.ssh/config 配置与 Linux/macOS 完全一致,教程通用;③ 方便本地测试 Shell 脚本后再部署;④ 结合 VS Code Remote - WSL 扩展,可以获得接近原生 Linux 的开发体验。开启方式:PowerShell 执行 wsl --install,重启后即可使用。对于重度 VPS 用户,WSL2 + VS Code Remote SSH 是 Windows 上目前最佳的工作流。

什么是 SSH Agent 转发?在跳板机场景下如何使用?   

**SSH Agent 转发(Agent Forwarding)**允许您从 A 机器 SSH 到 B 机器后,再从 B 免密跳到 C,而无需把私钥复制到 B 上(私钥始终存在本地,安全)。使用方式:在 ~/.ssh/config 中对跳板机添加 ForwardAgent yes,或连接时使用 ssh -A root@jump-server。现代场景中更推荐使用 SSH 的 ProxyJump(-J参数),例如:ssh -J root@jump-server root@backend-server,这种方式更安全,不暴露跳板机的代理权限。在 ~/.ssh/config 中配置:ProxyJump jump-server,即可一条命令直连内网机器。

SSH 报错 "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED" 怎么解决?   

这个报错意味着服务器的主机指纹(Host Key)与本地 ~/.ssh/known_hosts 中记录的不匹配。常见合理原因:重装了系统(指纹会变)、更换了服务器 IP、商家迁移了底层主机。确认是正常操作后,删除旧记录即可:执行 ssh-keygen -R 你的服务器IP,再次连接时会重新验证并保存新指纹。**注意:**如果您并没有重装或更换机器,此报错也可能意味着中间人攻击(MITM),此时应谨慎,先通过商家控制台 VNC 确认服务器状态,不要轻易跳过验证。

🚀 下一步行动

掌握了 SSH 连接,接下来深入了解系统选择和核心术语: [ 🐧

Linux 发行版选择指南

Ubuntu、Debian 还是 CentOS?深入对比各发行版优缺点与适用场景。 开始学习 ](/guides/os-selection-guide)[ 📖

VPS 核心术语百科

QOS、原生IP、CN2 GIA、三网直连……新手必看的名词解释大全。 开始学习 ](/guides/vps-glossary)[ ⭐

VPS 推荐榜单

查看 VPS 实测与服务商索引,先看结论再去官网。 查看推荐 ](/vps-recommendations)[ 📚

浏览更多教程

继续探索服务器安全、网站搭建、性能优化和 AI 环境主题。 探索教程 ](/guides)
读完后建议 先验证,再选择 把判断落到具体选择 准备购买 VPS 时,先对照推荐榜单和真实测评确认线路、价格、用途与风险;只是继续学习,可以回到教程索引按主题往下看。 查看推荐榜单 回到教程索引

VPS

关于本文作者与审校团队

了解内容准则

本文由 VPS推荐技术评测组 联合撰写与维护。团队成员具备多年海外 VPS 部署、Linux 系统调优与网络架构实践经验。所有指南均以命令行真实回显、安全性优先及可回退步骤为原则。

© 2026 VPS推荐 (vpstuijian.pro) · 保留所有权利