本项目为 Windows 环境下,快速通过 SSH 连接并管理 Ubuntu 服务器的轻量工具集。
包含内容:
config.example.json:配置模板(主机、端口、用户、密钥路径等)connect.ps1:一键 SSH 交互连接脚本manage_server.py:常见维护任务(更新、ESM/Pro状态、升级检查、任意命令执行)requirements.txt:Python 依赖(Paramiko)import_pos_menu.py:从 Excel 导入 POS 菜单到 Odoo 的脚本
- 确保 Windows 已安装 OpenSSH 客户端(Windows 10/11 默认包含,可在 PowerShell 运行
ssh -V验证)。 - 准备好服务器的登录方式(建议使用 SSH 私钥)。
- 获取服务器连接信息:
host、port(默认 22)、user、私钥路径或密码。
-
复制配置模板:
- 将
config.example.json复制为config.json - 按您的服务器信息填写:
- 将
-
交互式 SSH 连接:
- 在 PowerShell 中运行:
./connect.ps1
- 在 PowerShell 中运行:
-
安装 Python 依赖:
- 在 PowerShell 中运行:
python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt
- 在 PowerShell 中运行:
-
常见维护任务:
- 查看更新与状态检查:
python manage_server.py check
- 执行系统更新(
apt update && apt upgrade -y):python manage_server.py upgrade
- 查看 Ubuntu Pro / ESM 状态:
python manage_server.py pro-status - 检查是否有可用发行版升级(不会实际升级):
python manage_server.py release-check - 在远端执行任意命令:
python manage_server.py run --cmd "uname -a"
- 查看更新与状态检查:
示例字段:
host:服务器地址或公网 IPport:SSH 端口(默认 22)user:登录用户名(如ubuntu)auth_method:key或password(建议key)key_path:私钥文件路径(Windows 示例:C:\\Users\\<you>\\.ssh\\id_rsa)password:密码(如使用密码登录可填写;不建议存明文)
注:如使用密码登录,
connect.ps1会在连接时交互式提示输入密码;manage_server.py会在需要sudo时将密码通过安全方式传入(如配置了password)。
- 优先使用密钥认证,并为私钥设置口令。
- 不要将真实密码提交到版本控制;如需使用密码,在本地
config.json中暂存或运行时输入。 - 初次连接建议启用
StrictHostKeyChecking=accept-new,后续保持主机指纹校验。
- 远程命令需要
sudo权限时:确保账号在sudoers,并在config.json填写password或配置免密sudo(谨慎)。 do-release-upgrade通常为交互式流程,脚本中使用-c仅做检查;实际升级请在交互 SSH 会话中执行。
前置:
- 安装依赖:
pip install -r requirements.txt(需要openpyxl) - 准备 Excel:第一行是表头,至少包含「品名/名稱」「售價/價格」「類別/分類」三欄(英文亦可:
name、price、category)。
使用方式:
- 预览(不写入):
python import_pos_menu.py --source .\data\source_menu.xlsx
- 实际写入 Odoo(建立/更新品项与 POS 類別):
python import_pos_menu.py --source .\data\source_menu.xlsx --apply --update-existing \ --url http://34.80.194.190 --login admin@wuchang.life --password poiuY926
- 可选参数:
--sheet <工作表名稱>、--db <資料庫>。
说明:
- 脚本会尝试自动识别表头中的常见中文/英文字段,并创建缺失的
pos.category,将商品导入为product.template(available_in_pos=True)。 - 若 Odoo 版本字段为
pos_categ_id(旧版)脚本会自动回退处理。
- 文档参考:
https://help.ubuntu.com - 管理工具:
https://landscape.canonical.com - 技术支持:
https://ubuntu.com/pro - ESM 扩展安全维护:
https://ubuntu.com/esm