配置Cloudflare Warp后无法通过SSH连接服务器
解决WARP-CLI导致SSH无法连接的问题
问题原因
执行warp-cli set-mode warp+doh后,WARP会将服务器的所有出站流量通过其隧道转发,包括SSH连接的响应流量。这会导致外部客户端的SSH请求无法正常与服务器建立双向通信,直接丢失SSH访问权限。
修复方案
场景1:可通过服务器控制台/本地终端访问
这是最直接的修复路径:
- 登录服务商提供的Web控制台、VNC终端或物理本地终端
- 立即断开WARP连接,恢复正常网络:
warp-cli disconnect - 此时SSH连接应该能恢复,接下来需要配置WARP避免拦截SSH流量:
- 方法A:排除SSH端口(推荐)
将22端口加入WARP的绕过列表,让SSH流量不走代理:warp-cli add-excluded-ports 22 warp-cli connect - 方法B:切换WARP模式
如果不需要全局代理,可切换为仅代理特定应用的模式:# 切换为代理模式(需手动指定应用使用代理) warp-cli set-mode proxy warp-cli connect # 或切换为普通WARP模式(部分环境下不会拦截入站响应) warp-cli set-mode warp warp-cli connect
- 方法A:排除SSH端口(推荐)
场景2:无法直接访问控制台(应急处理)
如果暂时无法登录本地终端,可尝试:
- 若服务器配置了定时任务,等待任务执行断开WARP的脚本
- 联系服务商重启服务器(若WARP未设置开机自启,重启后WARP不会自动连接,即可恢复SSH)
后续注意事项
- 在服务器上配置全局代理类工具时,务必先将SSH、远程管理等关键服务的端口加入排除列表
- 可编辑WARP的配置文件(通常位于
/etc/warp.conf),添加持久化的排除规则,避免重启后失效
内容的提问来源于stack exchange,提问作者Doe
相关产品推荐
相关产品推荐

