终端 > Warp 化概览
使用 Warp 功能进行 SSH 连接
# 通过 SSH 使用 Warp 功能 import VideoEmbed from '@components/VideoEmbed.astro'; Warp 的 **SSH 扩展**将本地的 Warp 体验带到了远程 macOS 和 Linux 主机上。在首次连接时选择加入后,您将获得一个由远程文件系统支持的真实文件树、通过单个多路复用 SSH 连接提供更可靠的补全功能,以及一个使用 Warp 原生 diff 工具而非退回到 `sed` 来应用编辑的编码智能助手。 <VideoEmbed url="https://www.loom.com/share/466d88a1968842c68f66a3b66b94f146" title="SSH 扩展演示" /> ## 通过 SSH 您能获得什么 在远程主机上安装 SSH 扩展后,以下功能将与本地运行一样: * **文件树 (Project Explorer)** - 左侧面板反映了远程项目的结构,并会在您在目录之间 `cd` 或更改文件时更新。请参阅 [文件树](/code/code-editor/file-tree/)。 * **可靠的补全和自动建议** - 生成器在单个多路复用连接上并行运行,而不是为每个命令打开一个新的 SSH 会话,因此补全不再触及远程主机的 `MaxSessions` 上限,也不会再偶尔向您的代码块中注入错误。 * **原生文件读取和代码 diff** - 智能助手通过 Warp 内置的 diff 工具读取文件并应用编辑。代码更改将显示为您可以审查和批准的内联 diff,而不是通过 `sed` 或其他 shell 命令应用。请参阅 [代码 diff](/agent-platform/local-agents/code-diffs/)。 * **所有核心终端功能** - 输入编辑器、块、命令历史记录、自动建议和历史记录搜索的行为与本地会话相同。有关 SSH 支持功能的完整细分,请参阅 [SSH 下的功能支持](/code/ssh-feature-support/)。  ## 安装 SSH 扩展 在首次连接到尚未安装 SSH 扩展的主机时,Warp 会显示一个包含两个选项的块内提示: * **安装 Warp 的 SSH 扩展** - 推荐。Warp 下载匹配远程操作系统和架构的远程服务器扩展,将其安装在 `~/.warp/remote-server` 下(预览版构建中为 `~/.warp-preview/remote-server`),启动它,并完成握手。后续连接到同一主机将跳过该提示并重复使用已安装的二进制文件。 * **继续而不安装** - 跳过为此连接安装扩展。会话将在没有 SSH 扩展的情况下继续,因此在您安装之前,文件树、原生文件读取和原生代码 diff 功能将不可用。您可以随时重新连接并安装。Warp 在未经您明确同意的情况下绝不会在远程主机上安装任何内容,并且安装仅会写入 `~/.warp*/` 目录。 :::note 扩展二进制文件会跟踪您客户端的发布渠道。稳定版 Warp 将扩展安装在 `~/.warp/remote-server` 下,预览版将其安装在 `~/.warp-preview/remote-server` 下,因此两个渠道可以在同一远程主机上共存。 ::: ### 管理安装提示 在 Warp 应用中,转到 **Settings** > **Warpify** 来控制提示的行为: * **总是询问** (默认) - 每次首次连接到每台主机时显示安装提示。 * **总是安装** - 跳过提示,并在扩展缺失时自动安装。 * **从不安装** - 跳过提示,并在不安装 SSH 扩展的情况下连接到主机。 相同的设置也可以通过在点击任一按钮之前选择 **不再询问我** 来在安装提示中进行更改。底层 TOML 键为 `warpify.ssh.ssh_extension_install_mode` - 请参阅 [所有设置参考](/terminal/settings/all-settings/#ssh) 获取 SSH 相关设置的完整列表,包括用于您永远不想启用 Warp 化的主机的 `ssh_hosts_denylist`。 ## 旧版:基于 tmux 的 Warp 化 :::caution 基于 tmux 的 Warp 化是 SSH 扩展的旧版替代方案,即将被弃用。请尽可能使用上述 SSH 扩展。对于尚未提供 SSH 扩展的客户端(例如 Windows 客户端),基于 tmux 的 Warp 化目前仍然可用。 ::: 基于 tmux 的 Warp 化是一种在 SSH 会话中启用 Warp 功能的旧方法。它使用 [`tmux`](#why-do-i-need-tmux-on-the-remote-machine) 在您的 SSH 连接上多路复用命令,并提供块、补全、输入编辑器和历史记录搜索功能。 ### 常见问题解答 #### 对远程 SSH 会话进行 Warp 化会更改远程机器吗? 只有在您明确许可的情况下才会。SSH 扩展将远程服务器扩展安装在 `~/.warp*/remote-server` 下。旧版基于 tmux 的 Warp 化如果不存在 [`tmux`](#why-do-i-need-tmux-on-the-remote-machine)(一种流行的开源终端多路复用器),则会安装它。这两种流程都会准确向您显示它们将运行的内容,您可以随时拒绝并继续使用不带这些功能的 SSH。 #### 为什么我需要在远程机器上使用 `tmux`? `tmux` 仅旧版基于 tmux 的 Warp 化路径需要;SSH 扩展不需要它。[tmux](https://github.com/tmux/tmux/wiki) 是一种流行的开源终端多路复用器,允许您在一个 SSH 连接中运行多个会话。它需要的权限极小且被广泛采用(GitHub 上 ⭐ 3.5w+)。旧路径使用 [tmux 控制模式](https://github.com/tmux/tmux/wiki/Control-Mode) 来运行临时的后台任务,如自动完成 `cd` 命令或填充自定义提示符的内容。SSH 扩展通过在单个 SSH 连接上通过长度定界协议通信来取代此方案。 #### 我可以 SSH 连接到我不想要 Warp 化的远程机器吗? 可以。取消提示以在没有 Warp 功能的情况下继续,或将主机添加到黑名单(**Settings** > **Warpify** > **SSH hosts denylist**),这样您就不会再被提示。 #### 我必须每次手动进行 Warp 化吗? 在您成功手动 Warp 化 SSH 连接后,Warp 会提供一个简短的脚本,您可以运行该脚本将标记附加到 shell 的 rc 文件末尾。这让 Warp 知道何时您的远程 shell 已准备好进行 Warp 化。为获得最佳结果,请将该代码片段放在 rc 文件的底部。  #### 支持哪些 shell 和操作系统? Warp 支持 macOS 和大多数 Linux 发行版作为远程主机,同时支持 SSH 扩展和旧版基于 tmux 的 Warp 化。支持的 shell 为 `bash` 和 `zsh`。暂不支持 Windows 远程主机。 #### 如果 Warp 未检测到我的 SSH 会话怎么办? 如果您处于远程 SSH 会话中但 Warp 未检测到它,您可以通过打开 [命令面板](/terminal/command-palette/) 并搜索“Warpify SSH Session”来手动进行 Warp 化。 #### 是什么触发了用于 Warp 化的 SSH 会话检测? 在启用 SSH 会话检测的情况下,Warp 会监视参数暗示交互式会话的 `ssh` 命令。如果您设置了 `ssh` 别名或作为脚本的一部分运行它,Warp 将不会执行 SSH 会话检测。一旦 Warp 确信您已成功验证(通过检测到 `Last login:` 或类似基本提示符的内容),它就会提示您 Warp 化活动的 SSH 会话。如果 SSH 会话检测未捕获到您的会话,您仍然可以 [手动 Warp 化](#what-if-warp-fails-to-detect-my-ssh-session)。在远程 macOS 和 Linux 主机上使用 Warp 的 SSH 扩展,以通过 SSH 获得真实的文件树、可靠的补全和原生代码编辑功能。
Warp 的 SSH 扩展将本地的 Warp 体验带到了远程 macOS 和 Linux 主机上。在首次连接时选择加入后,您将获得一个由远程文件系统支持的真实文件树、通过单个多路复用 SSH 连接提供更可靠的补全功能,以及一个使用 Warp 原生 diff 工具而非退回到 sed 来应用编辑的编码智能助手。
通过 SSH 您能获得什么
标题为“通过 SSH 您能获得什么”的章节在远程主机上安装 SSH 扩展后,以下功能将与本地运行一样
- 文件树 (Project Explorer) - 左侧面板反映了远程项目的结构,并会在您在目录之间
cd或更改文件时更新。请参阅 文件树。 - 可靠的补全和自动建议 - 生成器在单个多路复用连接上并行运行,而不是为每个命令打开一个新的 SSH 会话,因此补全不再触及远程主机的
MaxSessions上限,也不会再偶尔向您的代码块中注入错误。 - 原生文件读取和代码 diff - 智能助手通过 Warp 内置的 diff 工具读取文件并应用编辑。代码更改将显示为您可以审查和批准的内联 diff,而不是通过
sed或其他 shell 命令应用。请参阅 代码 diff。 - 所有核心终端功能 - 输入编辑器、块、命令历史记录、自动建议和历史记录搜索的行为与本地会话相同。
有关 SSH 下的功能支持的完整细分,请参阅 SSH 下的功能支持。

安装 SSH 扩展
标题为“安装 SSH 扩展”的章节在首次连接到尚未安装 SSH 扩展的主机时,Warp 会显示一个包含两个选项的块内提示
- 安装 Warp 的 SSH 扩展 - 推荐。Warp 下载匹配远程操作系统和架构的远程服务器扩展,将其安装在
~/.warp/remote-server下(预览版构建中为~/.warp-preview/remote-server),启动它,并完成握手。后续连接到同一主机将跳过该提示并重复使用已安装的二进制文件。 - 继续而不安装 - 跳过为此连接安装扩展。会话将在没有 SSH 扩展的情况下继续,因此在您安装之前,文件树、原生文件读取和原生代码 diff 功能将不可用。您可以随时重新连接并安装。
Warp 在未经您明确同意的情况下绝不会在远程主机上安装任何内容,并且安装仅会写入 ~/.warp*/ 目录。
管理安装提示
标题为“管理安装提示”的章节在 Warp 应用中,转到 Settings > Warpify 来控制提示的行为
- 总是询问 (默认) - 每次首次连接到每台主机时显示安装提示。
- 总是安装 - 跳过提示,并在扩展缺失时自动安装。
- 从不安装 - 跳过提示,并在不安装 SSH 扩展的情况下连接到主机。
相同的设置也可以通过在点击任一按钮之前选择 不再询问我 来在安装提示中进行更改。底层 TOML 键为 warpify.ssh.ssh_extension_install_mode - 请参阅 所有设置参考 获取 SSH 相关设置的完整列表,包括用于您永远不想启用 Warp 化的主机的 ssh_hosts_denylist。
旧版:基于 tmux 的 Warp 化
标题为“旧版:基于 tmux 的 Warp 化”的章节基于 tmux 的 Warp 化是一种在 SSH 会话中启用 Warp 功能的旧方法。它使用 tmux 在您的 SSH 连接上多路复用命令,并提供块、补全、输入编辑器和历史记录搜索功能。
常见问题解答
标题为“常见问题解答”的章节对远程 SSH 会话进行 Warp 化会更改远程机器吗?
标题为“对远程 SSH 会话进行 Warp 化会更改远程机器吗?”的章节只有在您明确许可的情况下才会。SSH 扩展将远程服务器扩展安装在 ~/.warp*/remote-server 下。旧版基于 tmux 的 Warp 化如果不存在 tmux(一种流行的开源终端多路复用器),则会安装它。这两种流程都会准确向您显示它们将运行的内容,您可以随时拒绝并继续使用不带这些功能的 SSH。
为什么我需要在远程机器上使用 tmux?
标题为“为什么我需要在远程机器上使用 tmux?”的章节tmux 仅旧版基于 tmux 的 Warp 化路径需要;SSH 扩展不需要它。tmux 是一种流行的开源终端多路复用器,允许您在一个 SSH 连接中运行多个会话。它需要的权限极小且被广泛采用(GitHub 上 ⭐ 3.5w+)。旧路径使用 tmux 控制模式 来运行临时的后台任务,如自动完成 cd 命令或填充自定义提示符的内容。SSH 扩展通过在单个 SSH 连接上通过长度定界协议通信来取代此方案。
我可以 SSH 连接到我不想要 Warp 化的远程机器吗?
标题为“我可以 SSH 连接到我不想要 Warp 化的远程机器吗?”的章节可以。取消提示以在没有 Warp 功能的情况下继续,或将主机添加到黑名单(Settings > Warpify > SSH hosts denylist),这样您就不会再被提示。
我必须每次手动进行 Warp 化吗?
标题为“我必须每次手动进行 Warp 化吗?”的章节在您成功手动 Warp 化 SSH 连接后,Warp 会提供一个简短的脚本,您可以运行该脚本将标记附加到 shell 的 rc 文件末尾。这让 Warp 知道何时您的远程 shell 已准备好进行 Warp 化。为获得最佳结果,请将该代码片段放在 rc 文件的底部。

支持哪些 shell 和操作系统?
标题为“支持哪些 shell 和操作系统?”的章节Warp 支持 macOS 和大多数 Linux 发行版作为远程主机,同时支持 SSH 扩展和旧版基于 tmux 的 Warp 化。支持的 shell 为 bash 和 zsh。暂不支持 Windows 远程主机。
如果 Warp 未检测到我的 SSH 会话怎么办?
标题为“如果 Warp 未检测到我的 SSH 会话怎么办?”的章节如果您处于远程 SSH 会话中但 Warp 未检测到它,您可以通过打开 命令面板 并搜索“Warpify SSH Session”来手动进行 Warp 化。
是什么触发了用于 Warp 化的 SSH 会话检测?
标题为“是什么触发了用于 Warp 化的 SSH 会话检测?”的章节在启用 SSH 会话检测的情况下,Warp 会监视参数暗示交互式会话的 ssh 命令。如果您设置了 ssh 别名或作为脚本的一部分运行它,Warp 将不会执行 SSH 会话检测。
一旦 Warp 确信您已成功验证(通过检测到 Last login: 或类似基本提示符的内容),它就会提示您 Warp 化活动的 SSH 会话。
如果 SSH 会话检测未捕获到您的会话,您仍然可以 手动 Warp 化。