Typecho 插件开发与服务器配置折腾记

需求背景

我使用的是 Typecho 1.2.1 版本博客,想开发一个插件实现以下功能:

编辑文章时上传图片的同时,自动同步上传一份到腾讯云 COS 存储桶,并且插入到文章中的图片地址自动替换为云存储的地址。

初始困境

Handsome 主题推荐的 GitHub 博主已停更,其推荐的插件在当前版本无法使用,只能基于他 7 年前的版本适配现在的 Typecho,整个过程就像在收拾一个烂摊子!

服务器配置难题

为了改进插件,需要在云服务器终端运行命令安装额外环境,却发现:

  1. 服务器自带的宝塔面板找不到入口
  2. 云服务器的 orcarerm 始终提示 3389 端口未开放(尽管面板已开放 3389 和 22 端口的 TCP 和 UDP)

    外网探测您的实例「3389」端口未放通,可能会导致外网无法正常登录。
  3. 使用 PuTTY 连接时同样报错:

    SSH connection failed: connect ECONNREFUSED xxx:3389

问题排查

一番捣鼓后发现:

  • 云服务器的防火墙服务被禁用
  • 服务器端的出入站规则中没有 SSH 22 端口的规则,只能手动创建

防火墙规则配置
端口开放设置

关键发现

今天突然意识到,这台服务器是 Windows Server 2012 R2 版本,价格便宜得可疑,会不会没有自带 SSH 服务?咨询后得到证实:

版本兼容性:Windows Server 2012 R2 及更早版本需手动下载 OpenSSH 安装包,不能直接通过「可选功能」安装。

一台 4 核 8G 的服务器居然没有预装 SSH,实在令人费解。更离谱的是,腾讯云的使用文档对此只字未提。

手动安装 OpenSSH 步骤

  1. 下载安装包:OpenSSH-Win64.zip
  2. 以管理员身份打开命令提示符(CMD),执行以下命令:
# 进入 OpenSSH 目录
cd "C:\Program Files\OpenSSH"

# 执行安装脚本
powershell -ExecutionPolicy Bypass -File install-sshd.ps1

# 设置服务自动启动
Set-Service -Name sshd -StartupType Automatic

# 启动服务
Start-Service -Name sshd

# 检查服务状态
Get-Service -Name sshd

# 备选配置命令
sc.exe config sshd start= auto

经过这两天的折腾,总算解决了服务器的 SSH 连接问题,接下来可以继续专注于插件开发了。

2025-08-31T04:31:52.png

最后修改:2025 年 08 月 31 日
如果觉得我的文章对你有用,请随意夸赞