
1. 安装 OpenSSH 服务器首先确保系统已更新然后安装 OpenSSH 服务器。# 切换到 root 用户或使用 sudosudosu-# 更新软件包列表aptupdate# 安装 openssh-serveraptinstallopenssh-server-y2. 启动服务并设置开机自启安装完成后启动 SSH 服务并设置为开机自动启动。# 启动 SSH 服务并设置开机自启systemctlenable--nowssh3. 验证 SSH 服务状态通过以下命令检查 SSH 服务是否正常运行。# 检查 SSH 服务状态systemctl statusssh# 检查 22 端口是否在监听ss-tulpn|grep:224. 本地连接测试在本地尝试 SSH 连接验证服务是否可访问。# 使用当前用户连接本地 SSH 服务sshhomelocalhost5. 额外配置与检查为了避免后续连接问题建议进行以下配置。5.1 防火墙放行 SSH 端口如果系统启用了防火墙如ufw需要放行 SSH 端口。# 允许 SSH 端口默认 22ufw allowssh# 重新加载防火墙规则ufw reload5.2 确认允许密码登录默认情况下Ubuntu 22.04 的 SSH 配置可能禁止密码登录。请检查并修改配置文件。# 编辑 SSH 服务配置文件nano/etc/ssh/sshd_config找到PasswordAuthentication一行确保其设置为yesPasswordAuthenticationyes保存文件后重启 SSH 服务使配置生效。systemctl restartssh6. 远程部署路径配置.pro 文件在 Qt 项目的.pro文件中可以指定远程部署路径方便通过 Qt Creator 进行远程部署。# 指定远程目标路径 target.path /home/pc/myApp INSTALLS target7. 远程运行环境变量设置在远程主机上运行 Qt 应用程序时可能需要设置以下环境变量。# 设置显示和权限exportDISPLAY:0exportXAUTHORITY/home/pc/.Xauthority# 设置库路径包含自定义库和系统库exportLD_LIBRARY_PATH/home/pc/myApp/lib:/home/pc/myApp/lib/Galaxy:/home/pc/myApp/lib/OpenCV:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH# 设置 Qt 插件路径exportQT_QPA_PLATFORM_PLUGIN_PATH/home/pc/myApp/plugins/platforms# 另一种动态库路径设置方式使用当前目录exportLD_LIBRARY_PATH$PWD/lib:$PWD/lib/Galaxy:$PWD/lib/OpenCV:/usr/lib/x86_64-linux-gnu8. 安装 xcb 依赖解决 Qt 图形界面问题如果远程应用程序使用 Qt 且基于 xcb 平台需要安装相关依赖。sudoaptupdatesudoaptinstall--reinstall-ylibxcb-cursor0 libxcb-util-dev libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-randr0 libxcb-shm0 libxcb-icccm4 libxcb-render0 libxcb-xkb1 libxkbcommon-x11-0sudoldconfig9. 编写启动脚本创建一个启动脚本例如start.sh统一设置环境并启动应用程序。#!/bin/bashcd$(dirname$0)# 强制指定库路径包含本地库和系统库exportLD_LIBRARY_PATH$PWD/lib:/usr/lib/x86_64-linux-gnu# 强制指定 Qt 插件路径exportQT_QPA_PLATFORM_PLUGIN_PATH$PWD/plugins/platforms# 强制使用 xcb 平台避免 wayland 干扰exportQT_QPA_PLATFORMxcb# 开启 Qt 插件调试方便定位问题exportQT_DEBUG_PLUGINS1# 启动应用程序./HA5001HM赋予脚本执行权限chmodx start.sh10. 安装远程调试工具为了支持远程调试例如使用 GDB需要在远程主机上安装gdbserver在本地开发机安装gdb。# 在远程主机Ubuntu 22.04上安装 gdbserversudoaptupdatesudoaptinstallgdbserver gdb-y安装后即可在远程主机启动gdbserver在本地通过gdb连接进行远程调试。总结本文详细介绍了在 Ubuntu 22.04 上安装和配置 SSH 服务以及为远程 Qt 应用程序部署和调试准备环境的完整步骤。涵盖了服务安装、防火墙配置、环境变量设置、依赖安装和启动脚本编写帮助开发者快速搭建稳定的远程开发和调试环境。